From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Apr 2015 18:40:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org Cc: Paul Eggert X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.142955520019828 (code B ref -1); Mon, 20 Apr 2015 18:40:04 +0000 Received: (at submit) by debbugs.gnu.org; 20 Apr 2015 18:40:00 +0000 Received: from localhost ([127.0.0.1]:33827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkGbu-00059i-IP for submit@debbugs.gnu.org; Mon, 20 Apr 2015 14:39:59 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54046) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkGbr-00059V-PE for submit@debbugs.gnu.org; Mon, 20 Apr 2015 14:39:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YkGbh-0002rZ-CP for submit@debbugs.gnu.org; Mon, 20 Apr 2015 14:39:50 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:53351) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkGbh-0002rU-9S for submit@debbugs.gnu.org; Mon, 20 Apr 2015 14:39:45 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39281) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkGbf-00007Q-5t for bug-gnu-emacs@gnu.org; Mon, 20 Apr 2015 14:39:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YkGbY-0002q6-UZ for bug-gnu-emacs@gnu.org; Mon, 20 Apr 2015 14:39:43 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkGbY-0002p9-Hl for bug-gnu-emacs@gnu.org; Mon, 20 Apr 2015 14:39:36 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id A4E0FA60003 for ; Mon, 20 Apr 2015 11:39:28 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3lJHgtR86fUi; Mon, 20 Apr 2015 11:39:27 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 3155939E8013; Mon, 20 Apr 2015 11:39:27 -0700 (PDT) From: Paul Eggert Date: Mon, 20 Apr 2015 11:39:15 -0700 Message-Id: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> X-Mailer: git-send-email 2.1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on older terminals where ` and ' were symmetric quotes, but nowadays this quoting looks odd and it's better to use apostrophe for single-quoted ASCII text. Add support for quoting either way, suggesting the newer style. * doc/lispref/tips.texi (Documentation Tips): Quote symbols 'like-this' as well as `like-this'. Recommend the former style. * etc/NEWS: Mention this. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted 'like-this' as well as `like-this'. --- doc/lispref/tips.texi | 27 ++++++++++++++++----------- etc/NEWS | 4 ++++ lisp/cedet/srecode/texi.el | 2 +- lisp/emacs-lisp/checkdoc.el | 4 ++-- lisp/emacs-lisp/lisp-mode.el | 8 ++++---- lisp/finder.el | 2 +- lisp/gnus/gnus-art.el | 8 ++++---- lisp/help-mode.el | 6 +++--- lisp/international/mule-cmds.el | 2 +- lisp/wid-edit.el | 2 +- 10 files changed, 37 insertions(+), 28 deletions(-) diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index cc1f0e4..8997249 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -658,17 +658,22 @@ starting double-quote is not part of the string! @anchor{Docstring hyperlinks} @item When a documentation string refers to a Lisp symbol, write it as it -would be printed (which usually means in lower case), with a grave -accent @samp{`} before and apostrophe @samp{'} after it. There are +would be printed (which usually means in lower case), with a +apostrophe @samp{'} before and after it. There are two exceptions: write @code{t} and @code{nil} without surrounding -punctuation. For example: @samp{CODE can be `lambda', nil, or t.} +punctuation. For example: @samp{CODE can be 'lambda', nil, or t.} (In this manual, we use a different convention, with single-quotes around symbols.) +Documentation strings can also use an older single-quoting convention, +which quotes symbols with grave accent @samp{`} and apostrophe, rather +than with two apostrophes: @samp{`like-this'} rather than +@samp{'like-this'}. This older single-quoting convention is not +recommended for new documentation. + @cindex hyperlinks in documentation strings Help mode automatically creates a hyperlink when a documentation string -uses a symbol name between grave accent and apostrophe, if the symbol -has either a +uses a single-quoted symbol name, if the symbol has either a function or a variable definition. You do not need to do anything special to make use of this feature. However, when a symbol has both a function definition and a variable definition, and you want to refer to @@ -710,21 +715,21 @@ followed by the word @samp{face}. In that case, only the face documentation will be shown, even if the symbol is also defined as a variable or as a function. -To make a hyperlink to Info documentation, write the name of the Info -node (or anchor) between grave accent and apostrophe, preceded by +To make a hyperlink to Info documentation, write the single-quoted +name of the Info node (or anchor), preceded by @samp{info node}, @samp{Info node}, @samp{info anchor} or @samp{Info anchor}. The Info file name defaults to @samp{emacs}. For example, @smallexample -See Info node `Font Lock' and Info node `(elisp)Font Lock Basics'. +See Info node 'Font Lock' and Info node '(elisp)Font Lock Basics'. @end smallexample -Finally, to create a hyperlink to URLs, write the URL between grave -accent and apostrophe, preceded by @samp{URL}. For example, +Finally, to create a hyperlink to URLs, write the single-quoted URL, +preceded by @samp{URL}. For example, @smallexample The home page for the GNU project has more information (see URL -`http://www.gnu.org/'). +'http://www.gnu.org/'). @end smallexample @item diff --git a/etc/NEWS b/etc/NEWS index a9c0d2e..278754e 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -791,6 +791,10 @@ name. The variable `system-name' is now obsolete. *** New macros `thread-first' and `thread-last' allow threading a form as the first or last argument of subsequent forms. +** Documentation strings now support single-quoting 'like-this' +in addition to the older style `like-this'. The newer style looks +better on most modern displays, and is recommended for new code. + +++ ** Time-related changes: diff --git a/lisp/cedet/srecode/texi.el b/lisp/cedet/srecode/texi.el index 5c3f21c..d03203d 100644 --- a/lisp/cedet/srecode/texi.el +++ b/lisp/cedet/srecode/texi.el @@ -253,7 +253,7 @@ that class. [ stuff ] => @code{[ stuff ]} Key => @kbd{Key} (key is C\\-h, M\\-h, SPC, RET, TAB and the like) ... => @dots{}" - (while (string-match "`\\([-a-zA-Z0-9<>.]+\\)'" string) + (while (string-match "['`]\\([-a-zA-Z0-9<>.]+\\)'" string) (let* ((vs (substring string (match-beginning 1) (match-end 1))) (v (intern-soft vs))) (setq string diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 777fed0..d861da9 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -1554,7 +1554,7 @@ mouse-[0-3]\\)\\)\\>")) (save-excursion (let ((case-fold-search t) (ret nil) mb me) - (while (and (re-search-forward "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'" e t) + (while (and (re-search-forward "['`]\\(\\sw\\(\\sw\\|\\s_\\)+\\)'" e t) (not ret)) (let* ((ms1 (match-string 1)) (sym (intern-soft ms1))) @@ -1824,7 +1824,7 @@ Replace with \"%s\"? " original replace) nil))) ;; t and nil case (save-excursion - (if (re-search-forward "\\(`\\(t\\|nil\\)'\\)" e t) + (if (re-search-forward "\\(['`]\\(t\\|nil\\)'\\)" e t) (if (checkdoc-autofix-ask-replace (match-beginning 1) (match-end 1) (format "%s should not appear in quotes. Remove? " diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 26a21d5..bfdd41e 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -405,8 +405,8 @@ ;; Words inside \\[] tend to be for `substitute-command-keys'. ("\\\\\\\\\\[\\(\\(?:\\sw\\|\\s_\\)+\\)\\]" (1 font-lock-constant-face prepend)) - ;; Words inside `' tend to be symbol names. - ("`\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" + ;; Words inside '' and `' tend to be symbol names. + ("['`]\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" (1 font-lock-constant-face prepend)) ;; Constant values. ("\\_<:\\(?:\\sw\\|\\s_\\)+\\_>" 0 font-lock-builtin-face) @@ -454,8 +454,8 @@ ;; Erroneous structures. (,(concat "(" cl-errs-re "\\_>") (1 font-lock-warning-face)) - ;; Words inside `' tend to be symbol names. - ("`\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" + ;; Words inside '' and `' tend to be symbol names. + ("['`]\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" (1 font-lock-constant-face prepend)) ;; Constant values. ("\\_<:\\(?:\\sw\\|\\s_\\)+\\_>" 0 font-lock-builtin-face) diff --git a/lisp/finder.el b/lisp/finder.el index 47fab3c..847dccc 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -115,7 +115,7 @@ Each element has the form (KEYWORD . DESCRIPTION).") "Syntax table used while in `finder-mode'.") (defvar finder-font-lock-keywords - '(("`\\([^'`]+\\)'" 1 font-lock-constant-face prepend)) + '(("['`]\\([^'`]+\\)'" 1 font-lock-constant-face prepend)) "Font-lock keywords for Finder mode.") (defvar finder-headmark nil diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 14f9adc..4560a0e 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -7828,11 +7828,11 @@ positives are possible." ("/\\([a-z][-a-z0-9]+\\.el\\)\\>[^.?]" ;; Exclude [.?] for URLs in gmane.emacs.cvs 1 (>= gnus-button-emacs-level 8) gnus-button-handle-library 1) - ("`\\([a-z][-a-z0-9]+\\.el\\)'" + ("['`]\\([a-z][-a-z0-9]+\\.el\\)'" 1 (>= gnus-button-emacs-level 8) gnus-button-handle-library 1) - ("`\\([a-z][a-z0-9]+-[a-z0-9]+-[-a-z0-9]*[a-z]\\|\\(gnus\\|message\\)-[-a-z]+\\)'" + ("['`]\\([a-z][a-z0-9]+-[a-z0-9]+-[-a-z0-9]*[a-z]\\|\\(gnus\\|message\\)-[-a-z]+\\)'" 0 (>= gnus-button-emacs-level 8) gnus-button-handle-symbol 1) - ("`\\([a-z][a-z0-9]+-[a-z]+\\)'" + ("['`]\\([a-z][a-z0-9]+-[a-z]+\\)'" 0 (>= gnus-button-emacs-level 9) gnus-button-handle-symbol 1) ("(setq[ \t\n]+\\([a-z][a-z0-9]+-[-a-z0-9]+\\)[ \t\n]+.+)" 1 (>= gnus-button-emacs-level 7) gnus-button-handle-describe-variable 1) @@ -7842,7 +7842,7 @@ positives are possible." 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-function 2) ("\\b\\(C-h\\|?\\)[ \t\n]+v[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET\\>" 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-variable 2) - ("`\\(\\(C-h\\|?\\)[ \t\n]+k[ \t\n]+\\([^']+\\)\\)'" + ("['`]\\(\\(C-h\\|?\\)[ \t\n]+k[ \t\n]+\\([^']+\\)\\)'" ;; Unlike the other regexps we really have to require quoting ;; here to determine where it ends. 1 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-key 3) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index d6679e9..13e5ed4 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -322,7 +322,7 @@ Commands: "\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)" "[ \t\n]+\\)?" ;; Note starting with word-syntax character: - "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'")) + "['`]\\(\\sw\\(\\sw\\|\\s_\\)+\\)'")) "Regexp matching doc string references to symbols. The words preceding the quoted symbol can be used in doc strings to @@ -337,11 +337,11 @@ when help commands related to multilingual environment (e.g., (defconst help-xref-info-regexp - (purecopy "\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+`\\([^']+\\)'") + (purecopy "\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+['`]\\([^']+\\)'") "Regexp matching doc string references to an Info node.") (defconst help-xref-url-regexp - (purecopy "\\<[Uu][Rr][Ll][ \t\n]+`\\([^']+\\)'") + (purecopy "\\<[Uu][Rr][Ll][ \t\n]+['`]\\([^']+\\)'") "Regexp matching doc string references to a URL.") ;;;###autoload diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index cca659f..0856995 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -177,7 +177,7 @@ "\\(charset\\)" "\\)\\s-+\\)?" ;; Note starting with word-syntax character: - "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'"))) + "['`]\\(\\sw\\(\\sw\\|\\s_\\)+\\)'"))) (defun coding-system-change-eol-conversion (coding-system eol-type) "Return a coding system which differs from CODING-SYSTEM in EOL conversion. diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 04a900f..9e1c895 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -2855,7 +2855,7 @@ The following properties have special meanings for this widget: :type 'boolean :group 'widget-documentation) -(defcustom widget-documentation-link-regexp "`\\([^\n`' ]+\\)'" +(defcustom widget-documentation-link-regexp "['`]\\([^\n`' ]+\\)'" "Regexp for matching potential links in documentation strings. The first group should be the link itself." :type 'regexp -- 2.1.0 From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Apr 2015 19:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142955869025482 (code B ref 20385); Mon, 20 Apr 2015 19:39:01 +0000 Received: (at 20385) by debbugs.gnu.org; 20 Apr 2015 19:38:10 +0000 Received: from localhost ([127.0.0.1]:33880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkHWE-0006cv-9l for submit@debbugs.gnu.org; Mon, 20 Apr 2015 15:38:10 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:33299) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkHWC-0006cn-8I for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 15:38:08 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id C43D085ECC; Mon, 20 Apr 2015 15:38:07 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 3D78B1E5B8C; Mon, 20 Apr 2015 15:37:43 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 247B4B40DC; Mon, 20 Apr 2015 15:37:43 -0400 (EDT) From: Stefan Monnier Message-ID: References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> Date: Mon, 20 Apr 2015 15:37:43 -0400 In-Reply-To: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> (Paul Eggert's message of "Mon, 20 Apr 2015 11:39:15 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > Emacs's traditional doc string style has been to quote symbols > `like this'. This worked well on older terminals where ` and ' > were symmetric quotes, but nowadays this quoting looks odd and > it's better to use apostrophe for single-quoted ASCII text. > Add support for quoting either way, suggesting the newer style. I'm not sure I like this. Yet, I don't like the look for `...' either. Stefan From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Apr 2015 20:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14295609982040 (code B ref 20385); Mon, 20 Apr 2015 20:17:01 +0000 Received: (at 20385) by debbugs.gnu.org; 20 Apr 2015 20:16:38 +0000 Received: from localhost ([127.0.0.1]:33894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkI7S-0000Wm-1T for submit@debbugs.gnu.org; Mon, 20 Apr 2015 16:16:38 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:26411) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkI7O-0000QB-Uo for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 16:16:35 -0400 Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3KKGL2r001265 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 20 Apr 2015 20:16:22 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t3KKGLsx005884 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 20 Apr 2015 20:16:21 GMT Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3KKGLlw010956; Mon, 20 Apr 2015 20:16:21 GMT MIME-Version: 1.0 Message-ID: Date: Mon, 20 Apr 2015 13:16:20 -0700 (PDT) From: Drew Adams References: <<1429555155-4695-1-git-send-email-eggert@cs.ucla.edu>> In-Reply-To: <<1429555155-4695-1-git-send-email-eggert@cs.ucla.edu>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > Emacs's traditional doc string style has been to quote symbols > `like this'. This worked well on older terminals where ` and ' > were symmetric quotes, And it has worked well in GUI Emacs as well. And it still does. And it supports simple highlighting, and simple searching, which are very helpful to users. This notation is not just some primitive, prehistoric way of setting off symbols and other code. It is a thoroughly modern way of doing that. Especially for a context that is plain text and that involves simple (and complex) editing operations. > but nowadays this quoting looks odd=20 No, it doesn't. It doesn't look more odd than it did pre-"nowadays". > and it's better to use apostrophe for single-quoted ASCII text. "It's better"? That's all you can say in support of this change? No reason given? Or was your "nowdays this quoting looks odd" to you the reason? If so, that's a feeble reason to lose helpful and simple highlighting, and to change a longstanding convention. > Add support for quoting either way, suggesting the newer style. > ... Quote symbols 'like-this' as well as `like-this'. > Recommend the former style. Please don't. Don't even add support for '...' quoting. It will just get in the way. Of users. Of tools. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 00:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142957551529653 (code B ref 20385); Tue, 21 Apr 2015 00:19:01 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 00:18:35 +0000 Received: from localhost ([127.0.0.1]:34011 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkLtZ-0007iA-PJ for submit@debbugs.gnu.org; Mon, 20 Apr 2015 20:18:35 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57400) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkLtV-0007hu-Mj for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 20:18:31 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9530D39E8014; Mon, 20 Apr 2015 17:18:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gdGZ4kW2Vd6g; Mon, 20 Apr 2015 17:18:22 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id F38CEA60003; Mon, 20 Apr 2015 17:18:21 -0700 (PDT) Message-ID: <5535974D.9050207@cs.ucla.edu> Date: Mon, 20 Apr 2015 17:18:21 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> In-Reply-To: Content-Type: multipart/mixed; boundary="------------070307060102090103000608" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------070307060102090103000608 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 04/20/2015 12:37 PM, Stefan Monnier wrote: > I don't like the look for `...' either. Yes, it's a problem. For better looks we can use curved single quotes, e.g., instead of the current: Indent each line via `indent-according-to-mode'. we can use: Indent each line via ‘indent-according-to-mode’. Curved single quotes nest better than apostrophe pairs, look better than grave accent + apostrophe, and avoid the "misuse" of grave accent for quoting. A revised patch is attached. --------------070307060102090103000608 Content-Type: text/x-patch; name="0001-Support-quoting-like-this-in-doc-strings.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-Support-quoting-like-this-in-doc-strings.patch" >From 50230afd8ec29a6c26b55920accc2e2b50f9b518 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 20 Apr 2015 17:12:58 -0700 Subject: [PROPOSED PATCH] =?UTF-8?q?Support=20quoting=20=E2=80=98like=20th?= =?UTF-8?q?is'=20in=20doc=20strings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on older terminals where ` and ' were symmetric quotes, but nowadays this quoting looks odd and it's better to use curved single quotes for text. Add support for quoting either way, suggesting the newer style. * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted ‘like-this’ as well as `like-this'. Recommend the former style. * etc/NEWS: Mention this. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted ‘like-this’ as well as `like-this'. --- doc/lispref/tips.texi | 34 +++++++++++++++++++--------------- etc/NEWS | 5 +++++ lisp/cedet/srecode/texi.el | 2 +- lisp/emacs-lisp/checkdoc.el | 5 +++-- lisp/emacs-lisp/lisp-mode.el | 8 ++++---- lisp/finder.el | 2 +- lisp/gnus/gnus-art.el | 8 ++++---- lisp/help-mode.el | 7 ++++--- lisp/international/mule-cmds.el | 2 +- lisp/wid-edit.el | 2 +- 10 files changed, 43 insertions(+), 32 deletions(-) diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index cc1f0e4..bfcf914 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -658,17 +658,21 @@ starting double-quote is not part of the string! @anchor{Docstring hyperlinks} @item When a documentation string refers to a Lisp symbol, write it as it -would be printed (which usually means in lower case), with a grave -accent @samp{`} before and apostrophe @samp{'} after it. There are +would be printed (which usually means in lower case), with surrounding +it with curved single quotes (@samp{‘} U+2018 LEFT SINGLE QUOTATION +MARK and @samp{’} U+2019 right single quotation mark). There are two exceptions: write @code{t} and @code{nil} without surrounding -punctuation. For example: @samp{CODE can be `lambda', nil, or t.} -(In this manual, we use a different convention, with single-quotes -around symbols.) +punctuation. For example: @samp{CODE can be ‘lambda’, nil, or t.} + +Documentation strings can also use an older single-quoting convention, +which quotes symbols with grave accent @samp{`} and apostrophe +@samp{'}: @samp{`like-this'} rather than @samp{‘like-this’}. As the +older convention looks odd on modern displays, it is not recommended +for new documentation. @cindex hyperlinks in documentation strings Help mode automatically creates a hyperlink when a documentation string -uses a symbol name between grave accent and apostrophe, if the symbol -has either a +uses a single-quoted symbol name, if the symbol has either a function or a variable definition. You do not need to do anything special to make use of this feature. However, when a symbol has both a function definition and a variable definition, and you want to refer to @@ -678,7 +682,7 @@ immediately before the symbol name. (Case makes no difference in recognizing these indicator words.) For example, if you write @example -This function sets the variable `buffer-file-name'. +This function sets the variable ‘buffer-file-name’. @end example @noindent @@ -691,7 +695,7 @@ you can write the words @samp{symbol} or @samp{program} before the symbol name to prevent making any hyperlink. For example, @example -If the argument KIND-OF-RESULT is the symbol `list', +If the argument KIND-OF-RESULT is the symbol ‘list’, this function returns a list of all the objects that satisfy the criterion. @end example @@ -710,21 +714,21 @@ followed by the word @samp{face}. In that case, only the face documentation will be shown, even if the symbol is also defined as a variable or as a function. -To make a hyperlink to Info documentation, write the name of the Info -node (or anchor) between grave accent and apostrophe, preceded by +To make a hyperlink to Info documentation, write the single-quoted +name of the Info node (or anchor), preceded by @samp{info node}, @samp{Info node}, @samp{info anchor} or @samp{Info anchor}. The Info file name defaults to @samp{emacs}. For example, @smallexample -See Info node `Font Lock' and Info node `(elisp)Font Lock Basics'. +See Info node ‘Font Lock’ and Info node ‘(elisp)Font Lock Basics’. @end smallexample -Finally, to create a hyperlink to URLs, write the URL between grave -accent and apostrophe, preceded by @samp{URL}. For example, +Finally, to create a hyperlink to URLs, write the single-quoted URL, +preceded by @samp{URL}. For example, @smallexample The home page for the GNU project has more information (see URL -`http://www.gnu.org/'). +‘http://www.gnu.org/’). @end smallexample @item diff --git a/etc/NEWS b/etc/NEWS index 9dd0e15..9a31147 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -796,6 +796,11 @@ name. The variable `system-name' is now obsolete. *** New macros `thread-first' and `thread-last' allow threading a form as the first or last argument of subsequent forms. +** Documentation strings now support quoting with curved single quotes +‘like-this’ in addition to the older style with grave accent and +apostrophe `like-this'. The newer style looks better on most modern +displays, and is recommended for new code. + +++ ** Time-related changes: diff --git a/lisp/cedet/srecode/texi.el b/lisp/cedet/srecode/texi.el index 5c3f21c..5068b2a 100644 --- a/lisp/cedet/srecode/texi.el +++ b/lisp/cedet/srecode/texi.el @@ -253,7 +253,7 @@ that class. [ stuff ] => @code{[ stuff ]} Key => @kbd{Key} (key is C\\-h, M\\-h, SPC, RET, TAB and the like) ... => @dots{}" - (while (string-match "`\\([-a-zA-Z0-9<>.]+\\)'" string) + (while (string-match "[`‘]\\([-a-zA-Z0-9<>.]+\\)['’]" string) (let* ((vs (substring string (match-beginning 1) (match-end 1))) (v (intern-soft vs))) (setq string diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 777fed0..d6a4c7b 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -1554,7 +1554,8 @@ mouse-[0-3]\\)\\)\\>")) (save-excursion (let ((case-fold-search t) (ret nil) mb me) - (while (and (re-search-forward "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'" e t) + (while (and (re-search-forward + "[`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]" e t) (not ret)) (let* ((ms1 (match-string 1)) (sym (intern-soft ms1))) @@ -1824,7 +1825,7 @@ Replace with \"%s\"? " original replace) nil))) ;; t and nil case (save-excursion - (if (re-search-forward "\\(`\\(t\\|nil\\)'\\)" e t) + (if (re-search-forward "\\([`‘]\\(t\\|nil\\)['’]\\)" e t) (if (checkdoc-autofix-ask-replace (match-beginning 1) (match-end 1) (format "%s should not appear in quotes. Remove? " diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 26a21d5..2c8bbee 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -405,8 +405,8 @@ ;; Words inside \\[] tend to be for `substitute-command-keys'. ("\\\\\\\\\\[\\(\\(?:\\sw\\|\\s_\\)+\\)\\]" (1 font-lock-constant-face prepend)) - ;; Words inside `' tend to be symbol names. - ("`\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" + ;; Words inside ‘’ and `' tend to be symbol names. + ("[`‘]\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)['’]" (1 font-lock-constant-face prepend)) ;; Constant values. ("\\_<:\\(?:\\sw\\|\\s_\\)+\\_>" 0 font-lock-builtin-face) @@ -454,8 +454,8 @@ ;; Erroneous structures. (,(concat "(" cl-errs-re "\\_>") (1 font-lock-warning-face)) - ;; Words inside `' tend to be symbol names. - ("`\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" + ;; Words inside ‘’ and `' tend to be symbol names. + ("[`‘]\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)['’]" (1 font-lock-constant-face prepend)) ;; Constant values. ("\\_<:\\(?:\\sw\\|\\s_\\)+\\_>" 0 font-lock-builtin-face) diff --git a/lisp/finder.el b/lisp/finder.el index 47fab3c..306f2e2 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -115,7 +115,7 @@ Each element has the form (KEYWORD . DESCRIPTION).") "Syntax table used while in `finder-mode'.") (defvar finder-font-lock-keywords - '(("`\\([^'`]+\\)'" 1 font-lock-constant-face prepend)) + '(("[`‘]\\([^'`‘’]+\\)['’]" 1 font-lock-constant-face prepend)) "Font-lock keywords for Finder mode.") (defvar finder-headmark nil diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 14f9adc..ac3819d 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -7828,11 +7828,11 @@ positives are possible." ("/\\([a-z][-a-z0-9]+\\.el\\)\\>[^.?]" ;; Exclude [.?] for URLs in gmane.emacs.cvs 1 (>= gnus-button-emacs-level 8) gnus-button-handle-library 1) - ("`\\([a-z][-a-z0-9]+\\.el\\)'" + ("[`‘]\\([a-z][-a-z0-9]+\\.el\\)['’]" 1 (>= gnus-button-emacs-level 8) gnus-button-handle-library 1) - ("`\\([a-z][a-z0-9]+-[a-z0-9]+-[-a-z0-9]*[a-z]\\|\\(gnus\\|message\\)-[-a-z]+\\)'" + ("[`‘]\\([a-z][a-z0-9]+-[a-z0-9]+-[-a-z0-9]*[a-z]\\|\\(gnus\\|message\\)-[-a-z]+\\)['’]" 0 (>= gnus-button-emacs-level 8) gnus-button-handle-symbol 1) - ("`\\([a-z][a-z0-9]+-[a-z]+\\)'" + ("[`‘]\\([a-z][a-z0-9]+-[a-z]+\\)['’]" 0 (>= gnus-button-emacs-level 9) gnus-button-handle-symbol 1) ("(setq[ \t\n]+\\([a-z][a-z0-9]+-[-a-z0-9]+\\)[ \t\n]+.+)" 1 (>= gnus-button-emacs-level 7) gnus-button-handle-describe-variable 1) @@ -7842,7 +7842,7 @@ positives are possible." 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-function 2) ("\\b\\(C-h\\|?\\)[ \t\n]+v[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET\\>" 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-variable 2) - ("`\\(\\(C-h\\|?\\)[ \t\n]+k[ \t\n]+\\([^']+\\)\\)'" + ("[`‘]\\(\\(C-h\\|?\\)[ \t\n]+k[ \t\n]+\\([^'’]+\\)\\)['’]" ;; Unlike the other regexps we really have to require quoting ;; here to determine where it ends. 1 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-key 3) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index d6679e9..cf8ec0c 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -322,7 +322,7 @@ Commands: "\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)" "[ \t\n]+\\)?" ;; Note starting with word-syntax character: - "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'")) + "[`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]")) "Regexp matching doc string references to symbols. The words preceding the quoted symbol can be used in doc strings to @@ -337,11 +337,12 @@ when help commands related to multilingual environment (e.g., (defconst help-xref-info-regexp - (purecopy "\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+`\\([^']+\\)'") + (purecopy + "\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+[`‘]\\([^'’]+\\)['’]") "Regexp matching doc string references to an Info node.") (defconst help-xref-url-regexp - (purecopy "\\<[Uu][Rr][Ll][ \t\n]+`\\([^']+\\)'") + (purecopy "\\<[Uu][Rr][Ll][ \t\n]+[`‘]\\([^'’]+\\)['’]") "Regexp matching doc string references to a URL.") ;;;###autoload diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index cca659f..ae0abec 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -177,7 +177,7 @@ "\\(charset\\)" "\\)\\s-+\\)?" ;; Note starting with word-syntax character: - "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'"))) + "[`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]"))) (defun coding-system-change-eol-conversion (coding-system eol-type) "Return a coding system which differs from CODING-SYSTEM in EOL conversion. diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 04a900f..7a34c1f 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -2855,7 +2855,7 @@ The following properties have special meanings for this widget: :type 'boolean :group 'widget-documentation) -(defcustom widget-documentation-link-regexp "`\\([^\n`' ]+\\)'" +(defcustom widget-documentation-link-regexp "[`‘]\\([^\n `'‘’]+\\)['’]" "Regexp for matching potential links in documentation strings. The first group should be the link itself." :type 'regexp -- 2.1.0 --------------070307060102090103000608-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 00:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Stefan Monnier Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.1429577631656 (code B ref 20385); Tue, 21 Apr 2015 00:54:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 00:53:51 +0000 Received: from localhost ([127.0.0.1]:34036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkMRi-0000AW-Ti for submit@debbugs.gnu.org; Mon, 20 Apr 2015 20:53:51 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:42402) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkMRg-0000AH-Mk for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 20:53:49 -0400 Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3L0rYPH025413 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 21 Apr 2015 00:53:35 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t3L0rX5n028631 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 21 Apr 2015 00:53:33 GMT Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3L0rXta007647; Tue, 21 Apr 2015 00:53:33 GMT MIME-Version: 1.0 Message-ID: <87fe5863-c419-4832-a24f-e579bb5bf561@default> Date: Mon, 20 Apr 2015 17:53:32 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> In-Reply-To: <5535974D.9050207@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: userv0022.oracle.com [156.151.31.74] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > For better looks we can use curved single quotes, e.g., instead of the > current: > Indent each line via `indent-according-to-mode'. > we can use: > Indent each line via =E2=80=98indent-according-to-mode=E2=80=99. >=20 > Curved single quotes nest better than apostrophe pairs, look better than > grave accent + apostrophe, and avoid the "misuse" of grave accent for > quoting. A revised patch is attached. Again, please don't. It is much simpler to search for ` and ', which are available directly from most keyboards, than it is to search for =E2=80=98 and =E2=80=99. Please find something else you are interested in, to improve. ;-) There are plenty of thing to work on, to improve Emacs. Tons of bugs reported, to start with... From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 01:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14295788502688 (code B ref 20385); Tue, 21 Apr 2015 01:15:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 01:14:10 +0000 Received: from localhost ([127.0.0.1]:34048 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkMlO-0000hH-4J for submit@debbugs.gnu.org; Mon, 20 Apr 2015 21:14:10 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:50369) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkMlM-0000h2-Io for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 21:14:08 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ak4JAGvvdVRMCqjW/2dsb2JhbAA3DoFFgw6eD1KBCIF1AQEEASMzIwULCxoCGA4CAhQYDSQuh2WaKYdogS+KSQoLEQMPBRAIAgICAw4JAQIBAoFUgWoDglqBFgSjY4QFUw X-IPAS-Result: Ak4JAGvvdVRMCqjW/2dsb2JhbAA3DoFFgw6eD1KBCIF1AQEEASMzIwULCxoCGA4CAhQYDSQuh2WaKYdogS+KSQoLEQMPBRAIAgICAw4JAQIBAoFUgWoDglqBFgSjY4QFUw X-IronPort-AV: E=Sophos;i="5.11,557,1422939600"; d="scan'208";a="116937344" Received: from 76-10-168-214.dsl.teksavvy.com (HELO ceviche.home) ([76.10.168.214]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 20 Apr 2015 21:14:03 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 077146610A; Mon, 20 Apr 2015 21:14:03 -0400 (EDT) From: Stefan Monnier Message-ID: References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> Date: Mon, 20 Apr 2015 21:14:02 -0400 In-Reply-To: <5535974D.9050207@cs.ucla.edu> (Paul Eggert's message of "Mon, 20 Apr 2015 17:18:21 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Indent each line via =E2=80=98indent-according-to-mode=E2=80=99. Yes, I like the way it looks and the way it's even less ambiguous than `...'. So I think it's the *right* solution. But I've resisted going this way so far because of the difficulty to type those things. IOW, I think we need some clever way to type them in with very little effor= t. Stefan From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 01:32:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier , Paul Eggert Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14295798736208 (code B ref 20385); Tue, 21 Apr 2015 01:32:03 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 01:31:13 +0000 Received: from localhost ([127.0.0.1]:34069 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkN1q-0001bk-BB for submit@debbugs.gnu.org; Mon, 20 Apr 2015 21:31:11 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:38391) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkN1c-0001WJ-SM for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 21:30:58 -0400 Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3L1UlFG012052 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 21 Apr 2015 01:30:47 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3L1Uldg012762 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 21 Apr 2015 01:30:47 GMT Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t3L1UljQ017473; Tue, 21 Apr 2015 01:30:47 GMT MIME-Version: 1.0 Message-ID: <77abfc96-99e2-4abf-b876-8bdd7ab58746@default> Date: Mon, 20 Apr 2015 18:30:46 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: userv0021.oracle.com [156.151.31.71] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > Indent each line via =E2=80=98indent-according-to-mode=E2=80=99. >=20 > Yes, I like the way it looks and the way it's even less ambiguous than > `...'. So I think it's the *right* solution. But I've resisted going > this way so far because of the difficulty to type those things. IOW, > I think we need some clever way to type them in with very little effort. Typing them is one problem, for sure. Then there is the problem of using them in Lisp (and other programming language) code. Will Emacs Lisp start using =E2=80=98 the same way it uses `, and =E2=80=99= the same way it uses '? If not, then some of the ` marks in the manual will change to =E2=80=98 and some not, etc. It's doable, but you would do well to imagine the repercussions for users before going down that road. And that's only once you've solved the "clever way to type them" question. I'd suggest not worrying about this problem now - it will be there when you're done fixing other things. ;-) Things like making it possible in Isearch to handle certain groups of chars (=E2=80=98 and `, for instance) as equivalence classes. That is a harder nut to crack, but also one that is genuinely worthwhile cracking. (And no, that is not related to `...' -> =E2=80=98...=E2=80=99. Just menti= oning it as something more important to fix, with a bigger payoff.) From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 01:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: 20385@debbugs.gnu.org, Paul Eggert Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142958153812842 (code B ref 20385); Tue, 21 Apr 2015 01:59:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 01:58:58 +0000 Received: from localhost ([127.0.0.1]:34079 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkNSj-0003L4-UB for submit@debbugs.gnu.org; Mon, 20 Apr 2015 21:58:58 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:27896) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkNSh-0003Kq-Pi for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 21:58:56 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiQFAGvvdVRMCqjW/2dsb2JhbAA3gVODDp5hgQiBdQEBBAEjMyMFCwsaAhgOAgIUGA0kiBOaKYdogS+LAQUQCAICAgMOCQMBAoM+A4JagRYEo2OEWA X-IPAS-Result: AiQFAGvvdVRMCqjW/2dsb2JhbAA3gVODDp5hgQiBdQEBBAEjMyMFCwsaAhgOAgIUGA0kiBOaKYdogS+LAQUQCAICAgMOCQMBAoM+A4JagRYEo2OEWA X-IronPort-AV: E=Sophos;i="5.11,557,1422939600"; d="scan'208";a="116939233" Received: from 76-10-168-214.dsl.teksavvy.com (HELO ceviche.home) ([76.10.168.214]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 20 Apr 2015 21:58:50 -0400 Received: by ceviche.home (Postfix, from userid 20848) id E2BDD6610A; Mon, 20 Apr 2015 21:58:49 -0400 (EDT) From: Stefan Monnier Message-ID: References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <77abfc96-99e2-4abf-b876-8bdd7ab58746@default> Date: Mon, 20 Apr 2015 21:58:49 -0400 In-Reply-To: <77abfc96-99e2-4abf-b876-8bdd7ab58746@default> (Drew Adams's message of "Mon, 20 Apr 2015 18:30:46 -0700 (PDT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Will Emacs Lisp start using =E2=80=98 the same way it uses `, and =E2=80= =99 the same > way it uses '? Of course not. > I'd suggest not worrying about this problem now - it will be there > when you're done fixing other things. ;-) Things like making it > possible in Isearch to handle certain groups of chars (=E2=80=98 and `, > for instance) as equivalence classes. That is a harder nut to > crack, but also one that is genuinely worthwhile cracking. Agreed. Stefan "Anxiously waiting for your patch" From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 03:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142958796423731 (code B ref 20385); Tue, 21 Apr 2015 03:47:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 03:46:04 +0000 Received: from localhost ([127.0.0.1]:34111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkP8O-0006Ae-19 for submit@debbugs.gnu.org; Mon, 20 Apr 2015 23:46:04 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:35304) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkP8M-0006A2-Hp for 20385@debbugs.gnu.org; Mon, 20 Apr 2015 23:46:02 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id AEDB2A60005; Mon, 20 Apr 2015 20:45:56 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qwnaemORaaYV; Mon, 20 Apr 2015 20:45:55 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D7E62A60003; Mon, 20 Apr 2015 20:45:55 -0700 (PDT) Message-ID: <5535C7F3.7020107@cs.ucla.edu> Date: Mon, 20 Apr 2015 20:45:55 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Stefan Monnier wrote: > we need some clever way to type them in with very little effort. Something like smart-quotes-mode, say? https://github.com/gareth-rees/smart-quotes In smart-quotes-mode, if you type this: Quoting 'like-this' should look nice. this is the text you've entered: Quoting ‘like-this’ should look nice. It'd be nice if Emacs had something like that for typing doc strings, along with the cleverer searches Drew mentioned. However, I'm leery of making nifty features prerequisites for the most recently proposed patch, as that's a recipe for inaction. Although the proposed patch's new functionality may be harder to use than we'd like, progress is made a step at a time and we can add more nifty features later. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 14:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 20385@debbugs.gnu.org, monnier@iro.umontreal.ca Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142962797531375 (code B ref 20385); Tue, 21 Apr 2015 14:53:01 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 14:52:55 +0000 Received: from localhost ([127.0.0.1]:35405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkZXi-00089y-WA for submit@debbugs.gnu.org; Tue, 21 Apr 2015 10:52:55 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:38148) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkZXh-00089l-4H for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 10:52:53 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NN500700W084A00@mtaout26.012.net.il> for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 17:54:20 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN500NA0W2K4Z90@mtaout26.012.net.il>; Tue, 21 Apr 2015 17:54:20 +0300 (IDT) Date: Tue, 21 Apr 2015 17:52:43 +0300 From: Eli Zaretskii In-reply-to: <5535C7F3.7020107@cs.ucla.edu> X-012-Sender: halo1@inter.net.il Message-id: <83618p5y9w.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 20 Apr 2015 20:45:55 -0700 > From: Paul Eggert > Cc: 20385@debbugs.gnu.org > > Stefan Monnier wrote: > > we need some clever way to type them in with very little effort. > > Something like smart-quotes-mode, say? > > https://github.com/gareth-rees/smart-quotes The solution that mode suggests for spell-checking will not work well with modern spellers (aspell and hunspell), because they don't have the curly apostrophe/quote character in their *.aff files' rules, like they do with the ASCII apostrophe. So if we want this to become our default, we need changes in ispell.el, to replace ’ with ' before we sent it to the speller. Or maybe recommend users to install *.aff files that already support ’, assuming such dictionaries exist. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 18:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 20385@debbugs.gnu.org, Paul Eggert Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142963956528368 (code B ref 20385); Tue, 21 Apr 2015 18:07:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 18:06:05 +0000 Received: from localhost ([127.0.0.1]:35461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkcYe-0007NU-UK for submit@debbugs.gnu.org; Tue, 21 Apr 2015 14:06:05 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:53481) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkcYc-0007N4-Ii for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 14:06:03 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id 8E33985F01; Tue, 21 Apr 2015 14:05:59 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id CF4D11E5B8C; Tue, 21 Apr 2015 14:04:59 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id B14FEB40DC; Tue, 21 Apr 2015 14:04:59 -0400 (EDT) From: Stefan Monnier Message-ID: References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> Date: Tue, 21 Apr 2015 14:04:59 -0400 In-Reply-To: <83618p5y9w.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 21 Apr 2015 17:52:43 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > So if we want this to become our default, we need changes in > ispell.el, to replace =E2=80=99 with ' before we sent it to the speller. = Or > maybe recommend users to install *.aff files that already support =E2=80= =99, > assuming such dictionaries exist. Another approach would be to keep `...' in the files, but use redisplay/font-lock tricks to display them =E2=80=98like-this=E2=80=99. Stefan From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 18:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142964072431178 (code B ref 20385); Tue, 21 Apr 2015 18:26:01 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 18:25:24 +0000 Received: from localhost ([127.0.0.1]:35468 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkcrL-00086n-SP for submit@debbugs.gnu.org; Tue, 21 Apr 2015 14:25:24 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:37247) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkcrI-00086P-77 for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 14:25:22 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NN600H005FZLF00@a-mtaout23.012.net.il> for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 21:25:13 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN600H5X5U1J460@a-mtaout23.012.net.il>; Tue, 21 Apr 2015 21:25:13 +0300 (IDT) Date: Tue, 21 Apr 2015 21:25:09 +0300 From: Eli Zaretskii In-reply-to: X-012-Sender: halo1@inter.net.il Message-id: <83vbgp49ve.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: Paul Eggert , 20385@debbugs.gnu.org > Date: Tue, 21 Apr 2015 14:04:59 -0400 > > > So if we want this to become our default, we need changes in > > ispell.el, to replace ’ with ' before we sent it to the speller. Or > > maybe recommend users to install *.aff files that already support ’, > > assuming such dictionaries exist. > > Another approach would be to keep `...' in the files, but use > redisplay/font-lock tricks to display them ‘like-this’. Which tricks did you have in mind? Overlays? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 18:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.1429641369510 (code B ref 20385); Tue, 21 Apr 2015 18:37:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 18:36:09 +0000 Received: from localhost ([127.0.0.1]:35472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykd1l-000089-4G for submit@debbugs.gnu.org; Tue, 21 Apr 2015 14:36:09 -0400 Received: from fely.am-1.org ([78.47.74.50]:40364) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykd1i-00007o-8y for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 14:36:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=hfA9VVHvrrcEtnFevWln5BKsToLhyZBL2QInIBm3jqE=; b=H8nCamJfNc3WIr2ETvqA33/F4ff6f3ATeBRRCw+/YmhbkpCQL6QZG1e1xwjeTvO4pFqd2onsebwF6WqYt5/6Uze2QYgmM0eseexk3iImLQJ7MVkW8P8wqUIbsX0i30wf3M27w49Mq82N0wV/nNrxc8oh3Wy9XmWLwOcO+1uEJME=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Ykd1e-0006Tk-7Z for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 18:36:02 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Ykd1W-00006l-Oi for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 01:35:54 +0700 From: Ivan Shmakov References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> Mail-Followup-To: 20385@debbugs.gnu.org Date: Tue, 21 Apr 2015 18:35:53 +0000 In-Reply-To: (Stefan Monnier's message of "Mon, 20 Apr 2015 21:14:02 -0400") Message-ID: <87vbgppbw6.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) >>>>> Stefan Monnier writes: [=E2=80=A6] > But I've resisted going this way so far because of the difficulty to > type those things. IOW, I think we need some clever way to type them > in with very little effort. Apart from the already suggested smart-quotes-mode, there=E2=80=99s this bit I personally use. (See also bug#16082.) (eval-after-load 'iso-transl '(iso-transl-define-keys '(("\"[" . [?=E2=80=9C]) ("\"]" . [?=E2=80=9D]) ("'[" . [?=E2=80=98]) ("']" . [?=E2=80=99])))) key binding =E2=80=95=E2=80=95=E2=80=95 =E2=80=95=E2=80=95=E2=80=95=E2=80= =95=E2=80=95=E2=80=95=E2=80=95 A-' [ =E2=80=98 A-' ] =E2=80=99 A-" [ =E2=80=9C A-" ] =E2=80=9D C-x 8 ' [ =E2=80=98 C-x 8 ' ] =E2=80=99 C-x 8 " [ =E2=80=9C C-x 8 " ] =E2=80=9D --=20 FSF associate member #7257 http://boycottsystemd.org/ =E2=80=A6 3013 B6A0= 230E 334A From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 18:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Ivan Shmakov Cc: 20385@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14296417631505 (code B ref 20385); Tue, 21 Apr 2015 18:43:01 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 18:42:43 +0000 Received: from localhost ([127.0.0.1]:35482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykd87-0000OB-EI for submit@debbugs.gnu.org; Tue, 21 Apr 2015 14:42:43 -0400 Received: from mtaout27.012.net.il ([80.179.55.183]:40467) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykd84-0000Nn-P2 for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 14:42:41 -0400 Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0NN600O0062BKL00@mtaout27.012.net.il> for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 21:37:36 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN600MOD6EN3H30@mtaout27.012.net.il>; Tue, 21 Apr 2015 21:37:36 +0300 (IDT) Date: Tue, 21 Apr 2015 21:42:30 +0300 From: Eli Zaretskii In-reply-to: <87vbgppbw6.fsf@violet.siamics.net> X-012-Sender: halo1@inter.net.il Message-id: <83sibt492h.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <87vbgppbw6.fsf@violet.siamics.net> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Ivan Shmakov > Date: Tue, 21 Apr 2015 18:35:53 +0000 > > Apart from the already suggested smart-quotes-mode, there’s this > bit I personally use. (See also bug#16082.) > > (eval-after-load 'iso-transl > '(iso-transl-define-keys > '(("\"[" . [?“]) ("\"]" . [?”]) > ("'[" . [?‘]) ("']" . [?’])))) > > key binding > ――― ――――――― > A-' [ ‘ > A-' ] ’ > A-" [ “ > A-" ] ” > C-x 8 ' [ ‘ > C-x 8 ' ] ’ > C-x 8 " [ “ > C-x 8 " ] ” Why not do what texinfo.el does to insert ``..'' when you press " ? Isn't that simpler and easier on the user? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 18:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Paul Eggert Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14296418661772 (code B ref 20385); Tue, 21 Apr 2015 18:45:01 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 18:44:26 +0000 Received: from localhost ([127.0.0.1]:35486 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykd9l-0000SV-S8 for submit@debbugs.gnu.org; Tue, 21 Apr 2015 14:44:26 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:45703) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykd9j-0000SL-M7 for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 14:44:24 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 065592084D for <20385@debbugs.gnu.org>; Tue, 21 Apr 2015 14:44:22 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute3.internal (MEProxy); Tue, 21 Apr 2015 14:44:23 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=gW64nHPJrX3Lem+peJfAsxgmOKY=; b=Fs2ng dXzbUjExSEeimLZUPw+D7mBFGC+nZfHa4x9LWeT1K0IwTjAqg+65HrmE+jEwDSZm 7CdWwDtLHZsOX2lrRLxAo9DzzBH14w7rjtxo6HJ5XrmUcfo5/0/2svKW1Vf6cQtq bRP+3qVKihwUVcH2G3cSCgu0QrSzDLGlsKqTpk= X-Sasl-enc: mUzjfD2Av/TriajHSPef5clBUb0HWHgJEQLTYcMDjVwn 1429641862 Received: from blueberry (unknown [80.216.68.107]) by mail.messagingengine.com (Postfix) with ESMTPA id 1475068013F; Tue, 21 Apr 2015 14:44:20 -0400 (EDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> From: Nicolas Petton In-reply-to: Date: Tue, 21 Apr 2015 20:44:10 +0200 Message-ID: <87h9s948zp.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >> So if we want this to become our default, we need changes in >> ispell.el, to replace =E2=80=99 with ' before we sent it to the speller.= Or >> maybe recommend users to install *.aff files that already support =E2=80= =99, >> assuming such dictionaries exist. > > Another approach would be to keep `...' in the files, but use > redisplay/font-lock tricks to display them =E2=80=98like-this=E2=80=99. I don't see the need for such a change. Is the character ` that ugly? The way it currently is looks fine to me (and reminds me of the usage of backquotes in Markdown). Nico =2D-=20 Nicolas Petton http://nicolas-petton.fr --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJVNpp6AAoJECM1h6R8IHkQJBIH/2aGIeKcmG/11OG1MS64OUNE STMrKEEcvwe2CkP3yMzrbHwkTOpFCzJIp6/zhzKy2YQIMEBMfMmgjYuP4MpzARCk 3b07hyR//Cmur7BPjRPxy6dF+W5IX1EE+AlUIHRgyr/B8ncCZIIm6da/66wOVTs8 9mAoV+FCdngXlGG3Qur9365+mYv8StIm9R9Q7WGGGj4/SprTCssZ7kUFg0+euffA p/oaT3jSqWV0BdZJb9uNY6ymDPjaU3LLf0HkPOdqXqF8CRd+5L7DbgxYpNX9Lsna MmENorHcEwNnkateIVJqDZFUOve9pfkGOWiJY2Pt1vW8JiWJFepZCjI1uu98IjA= =vYKp -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 19:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14296448719175 (code B ref 20385); Tue, 21 Apr 2015 19:35:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 19:34:31 +0000 Received: from localhost ([127.0.0.1]:35506 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkdwF-0002Nu-Gv for submit@debbugs.gnu.org; Tue, 21 Apr 2015 15:34:31 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:57933) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkdwD-0002Nj-LC for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 15:34:30 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id C4AA38515B; Tue, 21 Apr 2015 15:34:28 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id BE9791E5B8C; Tue, 21 Apr 2015 15:34:04 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 93052B40DC; Tue, 21 Apr 2015 15:34:04 -0400 (EDT) From: Stefan Monnier Message-ID: References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> Date: Tue, 21 Apr 2015 15:34:04 -0400 In-Reply-To: <83vbgp49ve.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 21 Apr 2015 21:25:09 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > Which tricks did you have in mind? Overlays? `display' properties. Stefan From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 19:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14296450819679 (code B ref 20385); Tue, 21 Apr 2015 19:38:01 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 19:38:01 +0000 Received: from localhost ([127.0.0.1]:35510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykdzc-0002W0-3e for submit@debbugs.gnu.org; Tue, 21 Apr 2015 15:38:00 -0400 Received: from fely.am-1.org ([78.47.74.50]:40373) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkdzZ-0002Vn-EL for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 15:37:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=iWqhJbUReerZGb2FBVKEhORmcV/aJCjSE2y59za5ags=; b=i4v9joTLyTeKSb/bH6yq5xnazB1DQLNnb1931/VF+Kt4M4GAKJCok8b0+USwvZFjhSGHJO0u+5W5n35YhECqIVYj2Q+0mavvX5DL13xEPRRIiDb5PaxfkORcIwEG3Z2JxKw0gZv88uz7KHpbyqvj7ulz8cnIv2crK6wf5UWY6Ks=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YkdzX-00074l-Jy for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 19:37:55 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YkdzQ-0000Da-U3 for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 02:37:49 +0700 From: Ivan Shmakov References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <87vbgppbw6.fsf@violet.siamics.net> <83sibt492h.fsf@gnu.org> Mail-Followup-To: 20385@debbugs.gnu.org Date: Tue, 21 Apr 2015 19:37:48 +0000 In-Reply-To: <83sibt492h.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 21 Apr 2015 21:42:30 +0300") Message-ID: <87r3rdp90z.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) >>>>> Eli Zaretskii writes: >>>>> From: Ivan Shmakov Date: Tue, 21 Apr 2015 18:35:53 +0000 [=E2=80=A6] >> C-x 8 " [ =E2=80=9C >> C-x 8 " ] =E2=80=9D > Why not do what texinfo.el does to insert ``..'' when you press " ? > Isn't that simpler and easier on the user? Personally, I prefer for these characters to be available all around Emacs, so even if there=E2=80=99re simpler means to enter them in some modes, I=E2=80=99d still need 'iso-transl (or the likes of it) elsewhere. Otherwise, given that texinfo-insert-quote seems to properly handle =E2=80=9Ccode sample=E2=80=9D vs. =E2=80=9Cprose=E2=80=9D contexts,= =E2=80=93 yes, this may come to be a good enough solution for the problem at hand. --=20 FSF associate member #7257 http://boycottsystemd.org/ =E2=80=A6 3013 B6A0= 230E 334A From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 19:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142964584911512 (code B ref 20385); Tue, 21 Apr 2015 19:51:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 19:50:49 +0000 Received: from localhost ([127.0.0.1]:35518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkeC0-0002zY-HX for submit@debbugs.gnu.org; Tue, 21 Apr 2015 15:50:49 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:40055) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkeBy-0002zD-6r for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 15:50:47 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NN600H0096US000@a-mtaout23.012.net.il> for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 22:50:38 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN600HPO9S9P060@a-mtaout23.012.net.il>; Tue, 21 Apr 2015 22:50:33 +0300 (IDT) Date: Tue, 21 Apr 2015 22:50:30 +0300 From: Eli Zaretskii In-reply-to: X-012-Sender: halo1@inter.net.il Message-id: <83pp6x45x5.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: eggert@cs.ucla.edu, 20385@debbugs.gnu.org > Date: Tue, 21 Apr 2015 15:34:04 -0400 > > > Which tricks did you have in mind? Overlays? > > `display' properties. Sounds gross. Moreover, AFAIU people who want to see ‘this’ actually _want_ to see the u+2018 etc. characters in the file/buffer. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 19:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Ivan Shmakov Cc: 20385@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142964598011839 (code B ref 20385); Tue, 21 Apr 2015 19:53:01 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 19:53:00 +0000 Received: from localhost ([127.0.0.1]:35522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkeE7-00034s-Ju for submit@debbugs.gnu.org; Tue, 21 Apr 2015 15:52:59 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:59691) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkeE4-00034W-Ll for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 15:52:57 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NN600J009HHAB00@mtaout26.012.net.il> for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 22:54:24 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN600D329YOE170@mtaout26.012.net.il>; Tue, 21 Apr 2015 22:54:24 +0300 (IDT) Date: Tue, 21 Apr 2015 22:52:47 +0300 From: Eli Zaretskii In-reply-to: <87r3rdp90z.fsf@violet.siamics.net> X-012-Sender: halo1@inter.net.il Message-id: <83oamh45tc.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <87vbgppbw6.fsf@violet.siamics.net> <83sibt492h.fsf@gnu.org> <87r3rdp90z.fsf@violet.siamics.net> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Ivan Shmakov > Date: Tue, 21 Apr 2015 19:37:48 +0000 > > >>>>> Eli Zaretskii writes: > >>>>> From: Ivan Shmakov Date: Tue, 21 Apr 2015 18:35:53 +0000 > > […] > > >> C-x 8 " [ “ > >> C-x 8 " ] ” > > > Why not do what texinfo.el does to insert ``..'' when you press " ? > > Isn't that simpler and easier on the user? > > Personally, I prefer for these characters to be available all > around Emacs, so even if there’re simpler means to enter them in > some modes, I’d still need 'iso-transl (or the likes of it) > elsewhere. I wasn't necessarily talking about "some modes". You can make this customization global, can't you? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 20:03:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Stefan Monnier Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142964652613222 (code B ref 20385); Tue, 21 Apr 2015 20:03:03 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 20:02:06 +0000 Received: from localhost ([127.0.0.1]:35526 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkeMw-0003RC-2B for submit@debbugs.gnu.org; Tue, 21 Apr 2015 16:02:06 -0400 Received: from mail-wg0-f52.google.com ([74.125.82.52]:35565) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkeMu-0003Qb-0j for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 16:02:04 -0400 Received: by wgyo15 with SMTP id o15so225434004wgy.2 for <20385@debbugs.gnu.org>; Tue, 21 Apr 2015 13:01:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=h8XhfnCeTEZT20YC2qCiVcRnKwTcRCvL4QMygAnzIlE=; b=hQcauxbUbeiGTnNqmkpXd4Ee8tDshx2EtWPO2lpBRqn5/rZ2XZJ9PirZVZEvH6wA6l 1cDDnlA86St3chlRjZ5HEpNEvi20y3BRnp3irAww45uZ71uWEqOCZqnBkDlciAa5p+WC ImfaXjiF7LLQS5j/YSW9TDOqQPi45VNkNPrhOi+a1tHnIPOjlqc+IVA4R/4MRiEPprYp zXpW/ov/2L2tq8SrEwJ+diCYvvTMlOYwiAgap/nfQw7qkz+fyCfyDtL7k1d8kyi7icBA Vm6G/ryPbuDEMhEee56N20AP8JJM5HiZ0UstunFlF/qRrcaqhmYAq/JpK5/UpieZZyUq 5n/w== X-Received: by 10.180.186.3 with SMTP id fg3mr37465784wic.79.1429646518226; Tue, 21 Apr 2015 13:01:58 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id gu7sm21113281wib.21.2015.04.21.13.01.57 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Apr 2015 13:01:57 -0700 (PDT) Message-ID: <5536ACB3.9040707@yandex.ru> Date: Tue, 21 Apr 2015 23:01:55 +0300 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> In-Reply-To: <83pp6x45x5.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 04/21/2015 10:50 PM, Eli Zaretskii wrote: > Moreover, AFAIU people who want to see ‘this’ actually _want_ to see > the u+2018 etc. characters in the file/buffer. That's no problem: fontify the source files like that, too. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 20:31:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Paul Eggert Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142964824419041 (code B ref 20385); Tue, 21 Apr 2015 20:31:03 +0000 Received: (at 20385) by debbugs.gnu.org; 21 Apr 2015 20:30:44 +0000 Received: from localhost ([127.0.0.1]:35553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykeod-0004wB-BR for submit@debbugs.gnu.org; Tue, 21 Apr 2015 16:30:44 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:42056) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkeoY-0004sQ-1u for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 16:30:39 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id D2ACD85F01; Tue, 21 Apr 2015 16:30:37 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 3E8EA1E5B8D; Tue, 21 Apr 2015 16:30:04 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 24C96B40DC; Tue, 21 Apr 2015 16:30:04 -0400 (EDT) From: Stefan Monnier Message-ID: References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <87h9s948zp.fsf@petton.fr> Date: Tue, 21 Apr 2015 16:30:04 -0400 In-Reply-To: <87h9s948zp.fsf@petton.fr> (Nicolas Petton's message of "Tue, 21 Apr 2015 20:44:10 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > I don't see the need for such a change. Is the character ` that ugly? The need is not terribly high, no. But yes, `...' is ugly. It used to be pretty back in the XFree86<4.0 days, when they were symmetric, but now they're pretty ugly. > The way it currently is looks fine to me (and reminds me of the usage of > backquotes in Markdown). I've lived with it for 20 years and could live with it another 20 years. But if someone can provide a good replacement, I'll accept it. Stefan From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 Apr 2015 00:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier , Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142966378432127 (code B ref 20385); Wed, 22 Apr 2015 00:50:02 +0000 Received: (at 20385) by debbugs.gnu.org; 22 Apr 2015 00:49:44 +0000 Received: from localhost ([127.0.0.1]:35649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkirI-0008M7-9Y for submit@debbugs.gnu.org; Tue, 21 Apr 2015 20:49:44 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:55272) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkirF-0008Li-IE for 20385@debbugs.gnu.org; Tue, 21 Apr 2015 20:49:42 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 0FEFEA60008; Tue, 21 Apr 2015 17:49:35 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WsM8y5kfLJ2U; Tue, 21 Apr 2015 17:49:32 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 096BAA60007; Tue, 21 Apr 2015 17:49:32 -0700 (PDT) Message-ID: <5536F01B.2040606@cs.ucla.edu> Date: Tue, 21 Apr 2015 17:49:31 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <87h9s948zp.fsf@petton.fr> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Stefan Monnier wrote: > But yes, `...' is ugly. It used to be pretty back in the XFree86<4.0 > days, when they were symmetric And before that, some character-based video display terminals displayed `...' nicely. There was good technical justification for this, as the 1965 draft definition of ASCII said 0x27 was the code for an opening single quotation mark. However, standardization headed in a different direction long ago and nowadays `...' is ugly everywhere. For more of the history, please see: Kuhn M. ASCII and Unicode quotation marks (2007). http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 Apr 2015 07:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov Cc: 20385@debbugs.gnu.org, monnier@iro.umontreal.ca, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142968604322647 (code B ref 20385); Wed, 22 Apr 2015 07:01:01 +0000 Received: (at 20385) by debbugs.gnu.org; 22 Apr 2015 07:00:43 +0000 Received: from localhost ([127.0.0.1]:35706 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkoeI-0005tC-Pi for submit@debbugs.gnu.org; Wed, 22 Apr 2015 03:00:43 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:47737) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkoeF-0005sx-2F for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 03:00:40 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NN7008004T8RP00@mtaout26.012.net.il> for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 10:01:50 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN700N7E4V2F0A0@mtaout26.012.net.il>; Wed, 22 Apr 2015 10:01:50 +0300 (IDT) Date: Wed, 22 Apr 2015 10:00:13 +0300 From: Eli Zaretskii In-reply-to: <5536ACB3.9040707@yandex.ru> X-012-Sender: halo1@inter.net.il Message-id: <83lhhk4phe.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Tue, 21 Apr 2015 23:01:55 +0300 > From: Dmitry Gutov > CC: 20385@debbugs.gnu.org, eggert@cs.ucla.edu > > On 04/21/2015 10:50 PM, Eli Zaretskii wrote: > > > Moreover, AFAIU people who want to see ‘this’ actually _want_ to see > > the u+2018 etc. characters in the file/buffer. > > That's no problem: fontify the source files like that, too. No, they want the characters to be in the file. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 Apr 2015 13:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Dmitry Gutov Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.1429710756801 (code B ref 20385); Wed, 22 Apr 2015 13:53:02 +0000 Received: (at 20385) by debbugs.gnu.org; 22 Apr 2015 13:52:36 +0000 Received: from localhost ([127.0.0.1]:35985 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykv4t-0000Cq-Hd for submit@debbugs.gnu.org; Wed, 22 Apr 2015 09:52:35 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:45109) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykv4r-0000Ce-RY for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 09:52:34 -0400 Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3MDqJ8V006561 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 22 Apr 2015 13:52:19 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3MDqHcS016660 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 22 Apr 2015 13:52:17 GMT Received: from abhmp0004.oracle.com (abhmp0004.oracle.com [141.146.116.10]) by userv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3MDqHW5012905; Wed, 22 Apr 2015 13:52:17 GMT MIME-Version: 1.0 Message-ID: Date: Wed, 22 Apr 2015 06:52:16 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> In-Reply-To: <83lhhk4phe.fsf@gnu.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I will add that one increasingly important use of `...' is that doc gets copied and pasted to other, non-Emacs environments. You might think that `...' is "ugly" (and that is the ONLY reason that's been given so far for changing it), but it has the distinct advantage that it is a unique way of quoting that separates itself from both strings ("...") and ordinary text quoting (curly quotes, double and single). If you post doc pieces into a context such as Stack Exchange, for example, you need only change the ' in `...' to `, to have that new context also, like Emacs, treat the quoted sexp specially - not a ordinary quoted text. That is, SE uses `...` instead of `...', but it does the same thing Emacs does, to make the result stand out as code and not as just any old quoted text. If you change `...' to ordinary curly quoting, you lose distinguishing what it quotes as code. Just one more consideration, another reason why the proposed change is a bad idea, IMHO. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 Apr 2015 14:00:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: eggert@cs.ucla.edu, Eli Zaretskii , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14297111841928 (code B ref 20385); Wed, 22 Apr 2015 14:00:05 +0000 Received: (at 20385) by debbugs.gnu.org; 22 Apr 2015 13:59:44 +0000 Received: from localhost ([127.0.0.1]:36617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkvBn-0000V1-De for submit@debbugs.gnu.org; Wed, 22 Apr 2015 09:59:43 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:53524) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkvBl-0000Us-Ao for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 09:59:42 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id A53002089A for <20385@debbugs.gnu.org>; Wed, 22 Apr 2015 09:59:40 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 22 Apr 2015 09:59:40 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=pkdPFOAPG8D027O048eBT+qmNTA=; b=jxTRI myPaeZQMX6H2JTqcWUQ/MnwQ7Nkcb9boOSHsz7bmvq+NBCLU4+tZV40UByP2vcse XlOeAr73Da3Uex86FioeUlWWKjyv59GE5LGbQqGK0vcvRnAsTSUk61nKLRvkeTJN lq6XD0SAoTq6hJTrsmN2HXqWMLNG9FGjMsKfo8= X-Sasl-enc: mLwvS7eSfO6VYBsPZfMwg5UVubxVosrJMPh1tBEKHikD 1429711180 Received: from blueberry (unknown [31.211.216.84]) by mail.messagingengine.com (Postfix) with ESMTPA id 6F664C00011; Wed, 22 Apr 2015 09:59:39 -0400 (EDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> From: Nicolas Petton In-reply-to: Date: Wed, 22 Apr 2015 15:59:37 +0200 Message-ID: <87a8y0jmba.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Drew Adams writes: > I will add that one increasingly important use of `...' is that > doc gets copied and pasted to other, non-Emacs environments. > > You might think that `...' is "ugly" (and that is the ONLY > reason that's been given so far for changing it), but it has > the distinct advantage that it is a unique way of quoting > that separates itself from both strings ("...") and ordinary > text quoting (curly quotes, double and single). > > If you post doc pieces into a context such as Stack Exchange, > for example, you need only change the ' in `...' to `, to > have that new context also, like Emacs, treat the quoted > sexp specially - not a ordinary quoted text. That is, SE > uses `...` instead of `...', but it does the same thing > Emacs does, to make the result stand out as code and not as > just any old quoted text. > > If you change `...' to ordinary curly quoting, you lose > distinguishing what it quotes as code. > > Just one more consideration, another reason why the proposed > change is a bad idea, IMHO. I agree with you. Maybe a compromise could be to add as an alternative syntax `...` (just like SE or Markdown)? It would then fix the unbalanced quotes issue. Nico =2D-=20 Nicolas Petton http://nicolas-petton.fr --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJVN6lJAAoJECM1h6R8IHkQ0ccH/1IeRrk5I3KUCE/k3KOjVoNJ FjuZaRv3X6RZVDO0XxC5vopz9GITqhkPsWqwwMWxGzKuutcJFTtWFz6gyKJrJjMR UAYFQcLAWsZurW0Ce2PV2Yb7Fnl6LYAaBBw6OufRXyuAqMHGqme5Aqy0c+9KfHqR 9fIecIdYX8+kiw1juOoG24W9JUmiuvjMf6JzSLiPBIGz0z7J0VhZziLm9k7nF4xd ca7CUv3SX2OXzHs7uMShbFe2vBzWCvh1LnNs16ku1vGUSlUHWBv0UKJSM5bUbgnh CMOrMQzK6Wggf/HIL2jlFRqBHADqWPKBJnEOwmX9N4YAHzZ3m0WLOwU7FLXn3Bo= =bFWT -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 Apr 2015 14:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Nicolas Petton Cc: eggert@cs.ucla.edu, Eli Zaretskii , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14297143956754 (code B ref 20385); Wed, 22 Apr 2015 14:54:02 +0000 Received: (at 20385) by debbugs.gnu.org; 22 Apr 2015 14:53:15 +0000 Received: from localhost ([127.0.0.1]:36645 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykw1a-0001kr-Un for submit@debbugs.gnu.org; Wed, 22 Apr 2015 10:53:15 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:49382) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ykw1Y-0001ke-OX for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 10:53:13 -0400 Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3MEqwoP010058 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 22 Apr 2015 14:52:58 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3MEqv3N017468 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 22 Apr 2015 14:52:57 GMT Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3MEqveQ014606; Wed, 22 Apr 2015 14:52:57 GMT MIME-Version: 1.0 Message-ID: <6837d058-ba18-461b-8af6-2c4e6d767348@default> Date: Wed, 22 Apr 2015 07:52:56 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> In-Reply-To: <87a8y0jmba.fsf@petton.fr> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > I will add that one increasingly important use of `...' is that > > doc gets copied and pasted to other, non-Emacs environments. > > > > You might think that `...' is "ugly" (and that is the ONLY > > reason that's been given so far for changing it), but it has > > the distinct advantage that it is a unique way of quoting > > that separates itself from both strings ("...") and ordinary > > text quoting (curly quotes, double and single). > > > > If you post doc pieces into a context such as Stack Exchange, > > for example, you need only change the ' in `...' to `, to > > have that new context also, like Emacs, treat the quoted > > sexp specially - not a ordinary quoted text. That is, SE > > uses `...` instead of `...', but it does the same thing > > Emacs does, to make the result stand out as code and not as > > just any old quoted text. > > > > If you change `...' to ordinary curly quoting, you lose > > distinguishing what it quotes as code. > > > > Just one more consideration, another reason why the proposed > > change is a bad idea, IMHO. >=20 > I agree with you. >=20 > Maybe a compromise could be to add as an alternative syntax `...` > (just like SE or Markdown)? It would then fix the unbalanced quotes issue= . 1. `...` is not as simple to parse (e.g. using regexps) for Emacs highlighting etc. 2. But I also realize that I might not have been as clear in that post as I should have been. It's not only about the (increasing) need to be able to copy doc and paste it to other, non-Emacs environments. The more important point is that Emacs uses `...' as a different kind of quoting from ordinary text quoting. It is Emacs's way of quoting code that is inline (i.e., within ordinary text). In other doc systems one might use wrap such inline code with, say, and XML element: (forward-char 3). For technical doc related to programming, there is typically *some* way to set off inline code bits, to indicate that they are code, whether they are keywords or pieces of programs. Emacs's way has been `...'. And IMHO, it is a very good way. Very simple, and amenable to very simple regexp identification and thus highlighting & retrieval. If Emacs at some point decides to switch to another code-quoting mechanism, that's one thing. But what it definitely should NOT do, IMO, is to lose code quoting - lose talking about code from a meta level, and just quote code bits normally, so they become confused with ordinary text quoting. That was really the point I was trying to make in my last point. `...' is for code. Changing that to '...' loses the ability to distinguish code from anything else being quoted normally. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 Apr 2015 23:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams , Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142974580226977 (code B ref 20385); Wed, 22 Apr 2015 23:37:02 +0000 Received: (at 20385) by debbugs.gnu.org; 22 Apr 2015 23:36:42 +0000 Received: from localhost ([127.0.0.1]:36886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl4C9-000712-KB for submit@debbugs.gnu.org; Wed, 22 Apr 2015 19:36:41 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:49883) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl4C7-00070o-Ik for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 19:36:39 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id CE347A6000F; Wed, 22 Apr 2015 16:36:33 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R04YbCqAyV5A; Wed, 22 Apr 2015 16:36:33 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 5C8E2A6000E; Wed, 22 Apr 2015 16:36:33 -0700 (PDT) Message-ID: <55383081.4010106@cs.ucla.edu> Date: Wed, 22 Apr 2015 16:36:33 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> In-Reply-To: <6837d058-ba18-461b-8af6-2c4e6d767348@default> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Drew Adams wrote: > If Emacs at some point decides to switch to another code-quoting > mechanism, that's one thing. But what it definitely should NOT do, > IMO, is to lose code quoting Yes, that makes sense. The latest iteration of the proposal does that, by suggesting that doc strings use curved single quotes ‘like-this’ to quote code. This mechanism is already used in the Emacs 24.5 info files, and it works well there. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 Apr 2015 23:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142974584227058 (code B ref 20385); Wed, 22 Apr 2015 23:38:01 +0000 Received: (at 20385) by debbugs.gnu.org; 22 Apr 2015 23:37:22 +0000 Received: from localhost ([127.0.0.1]:36890 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl4Cn-00072L-UX for submit@debbugs.gnu.org; Wed, 22 Apr 2015 19:37:22 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:49912) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl4Cm-000727-T5 for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 19:37:21 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4646DA6000F; Wed, 22 Apr 2015 16:37:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ndX721iI273z; Wed, 22 Apr 2015 16:37:14 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id A25FDA6000E; Wed, 22 Apr 2015 16:37:14 -0700 (PDT) Message-ID: <553830AA.9040601@cs.ucla.edu> Date: Wed, 22 Apr 2015 16:37:14 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> In-Reply-To: <83618p5y9w.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Eli Zaretskii wrote: > So if we want this to become our default, we need changes in > ispell.el, to replace ’ with ' before we sent it to the speller. Although a change like that might make sense, it appears to go beyond what's needed for doc strings. I was thinking of something more modest: change Emacs so that if you're editing an Elisp or C string, then when you type `like-this' it's by default changed to ‘like-this’. This would not need to happen everywhere, but it would be the default when editing Emacs source code because we'd put the appropriate setting into .dir-locals.el. Or were you thinking about spell-checking doc strings? If so, I don't see how changing the quoting style affects how the spell-checker works. It wouldn't affect the way I spell-check code, anyway. Could you give an example? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 00:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Drew Adams , Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142974862131263 (code B ref 20385); Thu, 23 Apr 2015 00:24:01 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 00:23:41 +0000 Received: from localhost ([127.0.0.1]:36913 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl4vc-00088B-QT for submit@debbugs.gnu.org; Wed, 22 Apr 2015 20:23:41 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:35731) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl4va-000883-Sn for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 20:23:39 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 4E4C02057F for <20385@debbugs.gnu.org>; Wed, 22 Apr 2015 20:23:38 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute3.internal (MEProxy); Wed, 22 Apr 2015 20:23:38 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=Jr09+7+ooDZJhtWFyZ/vNa8n0qQ=; b=ZUMgp gJ8//s1jJ+b9BUBz+l674dL7/e+wqzJKCg1ytjKi7F+6I1r4w9q6Vdlg5RT24SAV gzwwH5MrddvNiElOhHA+W41/8wTFiba7qUExYHMWqxAHu4oi1/1xeldSxSQ9io6s 8ht48GlXeUN+LnZVZHBBzR5sddkcue2uojL0Eg= X-Sasl-enc: REjeYlTpYVudBFPWh46LB5j1yNOJYwzdB9PHP/ylNAmj 1429748617 Received: from blueberry (unknown [80.216.68.107]) by mail.messagingengine.com (Postfix) with ESMTPA id 3D360C00013; Wed, 22 Apr 2015 20:23:37 -0400 (EDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> From: Nicolas Petton In-reply-to: <55383081.4010106@cs.ucla.edu> Date: Thu, 23 Apr 2015 02:23:35 +0200 Message-ID: <87a8xzae0o.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Paul Eggert writes: > Drew Adams wrote: >> If Emacs at some point decides to switch to another code-quoting >> mechanism, that's one thing. But what it definitely should NOT do, >> IMO, is to lose code quoting > > Yes, that makes sense. The latest iteration of the proposal does that, b= y=20 > suggesting that doc strings use curved single quotes =E2=80=98like-this= =E2=80=99 to quote code.=20 > This mechanism is already used in the Emacs 24.5 info files, and it wor= ks well=20 > there. I don't understand how this would better than using backquotes `like-this` (or even simply keeping it `like-this'): =2D Isn't the curved single quote character *really* hard to type? (I don't think I even know how to type it on my keyboard). =2D Also, aren't curved single quotes only used to display code quotation in compiled info files, not in .texinfo sources (by this I mean that nobody actually has to type curved quotes)? Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJVODuHAAoJECM1h6R8IHkQMbAH/3jkxgpZM5/MwJbMp7sFWU6N DC7vqJYahXdZ+CSHATFCSJ8bT1qvxVR013cm0JxxjZOHaQr5UenagpbdWVquv80J tVgUx3tcooUsd6YqKvNA1cbebtCBTh1xokU6EGGutQbPV/aIoQSzGuRpav0Rq048 NaYw4a9xaavNaoR/l2m6435zIpgeOmT5tAfuglnoKjnvcZ628h0Og9Gd35eH0x8c Iet1Y4E01JdqgE9sMxBi/PajybyvruauESz3RlvaqOvsWhMoYTqVQskZYi914TeP cdZY9z37DwVflJ5oGt+uFgvEkCcdWKbd0HR+YJSAvEma5Xwnkf4LT4pix4YzEcE= =P+rh -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 02:20:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14297555678955 (code B ref 20385); Thu, 23 Apr 2015 02:20:04 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 02:19:27 +0000 Received: from localhost ([127.0.0.1]:36956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl6je-0002KM-Pw for submit@debbugs.gnu.org; Wed, 22 Apr 2015 22:19:27 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:46721) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yl6jc-0002K8-Hj for 20385@debbugs.gnu.org; Wed, 22 Apr 2015 22:19:25 -0400 Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3N2JH0U021700 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Apr 2015 02:19:17 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3N2JGbZ023286 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 23 Apr 2015 02:19:16 GMT Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3N2JG9u030177; Thu, 23 Apr 2015 02:19:16 GMT MIME-Version: 1.0 Message-ID: Date: Wed, 22 Apr 2015 19:19:15 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> In-Reply-To: <55383081.4010106@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > If Emacs at some point decides to switch to another code-quoting > > mechanism, that's one thing. But what it definitely should NOT > > do, IMO, is to lose code quoting >=20 > Yes, that makes sense. The latest iteration of the proposal does > that, by suggesting that doc strings use curved single quotes > =E2=80=98like-this=E2=80=99 to quote code. This mechanism is already use= d in the > Emacs 24.5 info files, and it works well there. Huh? You say that you agree, that what I say makes sense. And then you say that =E2=80=98...=E2=80=99 is a solution! That's precisely what I'= m saying does *not* work. If you paste that into any context where curly quoting is used for ordinary text (which - nowadays, as you would say - means most ordinary-text contexts) then you lose the special quoting of code. Whether curly quotes are single or double is irrelevant: both are used in ordinary situations to quote ordinary text. Neither is something special for quoting code. See http://en.wikipedia.org/wiki/Quotation_mark. Note, in particular (in case this was something you were confused about), that British and American usages tends to be reversed wrt which curly quotes, single or double, are used at the first level: In American English, double quotes are used normally (the "primary" style). If quote marks are used inside another pair of quote marks, then single quotes are used as the "secondary" style. For example: "Didn't she say 'I like red best' when asked her favorite wine?" he wondered to himself. If another set of quotes is nested, double quotes are used again, and they continue to alternate as necessary (though this is rarely done). British English tends to have the opposite convention =E2=80=93 single quotes are primary, and double quotes are secondary. Different varieties of English have different rules regarding whether neighboring punctuation should be written inside or outside the quotation marks. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 06:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 20385@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142977062931392 (code B ref 20385); Thu, 23 Apr 2015 06:31:01 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 06:30:29 +0000 Received: from localhost ([127.0.0.1]:36996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlAeW-0008A2-0q for submit@debbugs.gnu.org; Thu, 23 Apr 2015 02:30:25 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:56160) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlAeP-00089M-Qi for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 02:30:19 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NN800G00Y2A5F00@a-mtaout22.012.net.il> for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 09:30:10 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN800FJ7Y2AZE40@a-mtaout22.012.net.il>; Thu, 23 Apr 2015 09:30:10 +0300 (IDT) Date: Thu, 23 Apr 2015 09:30:10 +0300 From: Eli Zaretskii In-reply-to: <553830AA.9040601@cs.ucla.edu> X-012-Sender: halo1@inter.net.il Message-id: <837ft32w7h.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <553830AA.9040601@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 22 Apr 2015 16:37:14 -0700 > From: Paul Eggert > CC: 20385@debbugs.gnu.org > > Eli Zaretskii wrote: > > > So if we want this to become our default, we need changes in > > ispell.el, to replace ’ with ' before we sent it to the speller. > > Although a change like that might make sense, it appears to go beyond what's > needed for doc strings. The suggestion to which I responded was to use https://github.com/gareth-rees/smart-quotes, which is a minor mode that is not limited to doc strings. Moreover, it is not limited to quoting, AFAIU, it will also replace lone apostrophes with ’. > I was thinking of something more modest: change Emacs > so that if you're editing an Elisp or C string, then when you type `like-this' > it's by default changed to ‘like-this’. I don't think you describe smart-quotes, you describe some other similar feature. I was talking about smart-quotes, and especially about making it default in text modes. > Or were you thinking about spell-checking doc strings? If you are considering a feature similar to smart-quotes, especially if it's not limited to quoting, then yes, spell-checking doc strings will hit the same problem. > If so, I don't see how changing the quoting style affects how the > spell-checker works. It wouldn't affect the way I spell-check code, > anyway. Could you give an example? If this is limited to quoting, I don't think it will affect spell-checking. But that's not what I was talking about. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 06:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Drew Adams , Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142977153232717 (code B ref 20385); Thu, 23 Apr 2015 06:46:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 06:45:32 +0000 Received: from localhost ([127.0.0.1]:37016 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlAtA-0008Vc-CV for submit@debbugs.gnu.org; Thu, 23 Apr 2015 02:45:32 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:34419) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlAt8-0008VO-AA for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 02:45:30 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 076CFA60010; Wed, 22 Apr 2015 23:45:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XCtEu623HjvH; Wed, 22 Apr 2015 23:45:22 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 3CE99A6000F; Wed, 22 Apr 2015 23:45:22 -0700 (PDT) Message-ID: <55389500.8000404@cs.ucla.edu> Date: Wed, 22 Apr 2015 23:45:20 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> In-Reply-To: <87a8xzae0o.fsf@petton.fr> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Nicolas Petton wrote: > I don't understand how this would better than using backquotes > `like-this` Quoting `like-this` still looks ugly, and still misuses grave accent in a way that's confusing for people not accustomed to the style. It's also harder to parse unambiguously than a matching pair of distinct quote characters. > - Isn't the curved single quote character *really* hard to type? Yes, and Stefan raised that point too. It should be reasonably easy to fix this (though I haven't coded it up yet). > - aren't curved single quotes only used to display code quotation > in compiled info files, not in .texinfo sources Yes, and partly because of this info-look.el now handles curved single quotes. These sorts of changes are inevitable (and shouldn't be that hard) when accommodating Emacs to common quoting styles. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 06:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams , Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142977154132736 (code B ref 20385); Thu, 23 Apr 2015 06:46:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 06:45:41 +0000 Received: from localhost ([127.0.0.1]:37019 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlAtH-0008Vv-PZ for submit@debbugs.gnu.org; Thu, 23 Apr 2015 02:45:40 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:34426) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlAtE-0008Va-Dg for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 02:45:36 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id ED484A60010; Wed, 22 Apr 2015 23:45:30 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Jmn3Td61cTKZ; Wed, 22 Apr 2015 23:45:30 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id EC733A6000F; Wed, 22 Apr 2015 23:45:29 -0700 (PDT) Message-ID: <55389509.60100@cs.ucla.edu> Date: Wed, 22 Apr 2015 23:45:29 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Drew Adams wrote: > British > and American usages tends to be reversed wrt which curly quotes, > single or double, are used at the first level: Sure, and the tradition in many GNU projects is to use American-style quoting for regular English text, and British-style quoting for code. For example, the Emacs 24.5 manual's info files quote ordinary text like this: Emacs occupies a “graphical window” and quote code like this: A description of an imaginary variable, ‘electric-future-map’. Changing doc strings to look like the latter will better implement the longstanding style for documentation in GNU projects. It's what quoting `like this' was originally intended to do (and *did* do, with circa-1965 draft ASCII). It's an eminently reasonable way to quote code in documentation. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 09:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: Nicolas Petton , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142978047820569 (code B ref 20385); Thu, 23 Apr 2015 09:15:01 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 09:14:38 +0000 Received: from localhost ([127.0.0.1]:37134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlDDS-0005Lg-Cg for submit@debbugs.gnu.org; Thu, 23 Apr 2015 05:14:38 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:52463) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlDDP-0005LW-RE for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 05:14:36 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 4E7B32084A for <20385@debbugs.gnu.org>; Thu, 23 Apr 2015 05:14:35 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Thu, 23 Apr 2015 05:14:35 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=r6UtppcvBMWx4dOEfPWdXkgxRZ4=; b=D1WFX wszr4gUj6qFh45kq7o+m58RuZ63S0T3JXeJUi7EeMlQAEI/8nYIIn2eY2Wn2/uoy FGbdILMLZ2Z5q14rak7U094uu9Iarx5YCceIig9AzzNXkPxhRU0/kYhrw6mqgQqR IFlE8eYZeEA6g20x++J3RoW63cDA3uY/JT5s44= X-Sasl-enc: w5r3FmeGf/DoGZAygxyRJ/OLMHD8ZV7apS1tF8AkH+EQ 1429780474 Received: from blueberry (unknown [31.211.216.84]) by mail.messagingengine.com (Postfix) with ESMTPA id 78C7E6801CC; Thu, 23 Apr 2015 05:14:34 -0400 (EDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> From: Nicolas Petton In-reply-to: <55389500.8000404@cs.ucla.edu> Date: Thu, 23 Apr 2015 11:14:33 +0200 Message-ID: <878udj9pfq.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Paul Eggert writes: > Nicolas Petton wrote: >> I don't understand how this would better than using backquotes >> `like-this` > > Quoting `like-this` still looks ugly I guess that's just a matter of taste then. I think it's perfectly fine, and FWIW it's also a very common way to quote code nowadays. >> - Isn't the curved single quote character *really* hard to type? > > Yes, and Stefan raised that point too. It should be reasonably easy to f= ix this=20 > (though I haven't coded it up yet). How? By inserting curved quotes when the user types a single quote (or another character) in a string in Elisp code? Wouldn't that be a big issue in other modes (or even outside of Emacs)? Nico =2D-=20 Nicolas Petton http://nicolas-petton.fr --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJVOLf5AAoJECM1h6R8IHkQpp8H+wTJZVu6AjaszaHayA4kvfRN KuB8QCgBFu2XiWa9214UncCgbFRTPmtW/DL6Ffe/fBS935fSW/8e9+KomrHoMtt7 DFIoiYWwoWQJJCLJwSnWBEK+MLMoDjxU08UhZ2e3fFD4ta/svCJ4/cL5j7WUEdfU MprKS5Qx2tPN3CP8d1jNPLtk0cEr82qBCivU197OfeT7oYEvoyzCH/wXnZZp2mQq F9Td5nxgASDKINYiIIzf0Yl/vhYesU1ajeLLpOwl8wdqnMdlxDdqmYnctCigU20m S9u3Y037F6LqfhzIqLOV4+5EAFKtQJFolEw6+yifKmtpypYlDwpnaPxxamuINfY= =iWCW -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 10:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142978456726596 (code B ref 20385); Thu, 23 Apr 2015 10:23:01 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 10:22:47 +0000 Received: from localhost ([127.0.0.1]:37156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlEHO-0006ut-Oa for submit@debbugs.gnu.org; Thu, 23 Apr 2015 06:22:46 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:40342) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlEHM-0006ud-2V for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 06:22:44 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 91B7CA60010; Thu, 23 Apr 2015 03:22:37 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sYiLzptNxROx; Thu, 23 Apr 2015 03:22:37 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 2F410A6000F; Thu, 23 Apr 2015 03:22:37 -0700 (PDT) Message-ID: <5538C7EC.9010105@cs.ucla.edu> Date: Thu, 23 Apr 2015 03:22:36 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> In-Reply-To: <878udj9pfq.fsf@petton.fr> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Nicolas Petton wrote: > inserting curved quotes when the user types a single quote (or > another character) in a string in Elisp code? Wouldn't that be a big > issue in other modes (or even outside of Emacs)? I don't see why it would need to affect other modes, or affect programs other than Emacs. The idea is to to make it easier for Elisp programmers to put curved single quotes into doc strings. Of course there is a more-general problem of making it easier to use curved quotes in arbitrary contexts (including contexts outside Emacs), but that problem needn't be solved here. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 11:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 20385@debbugs.gnu.org, Stefan Monnier Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142978771631590 (code B ref 20385); Thu, 23 Apr 2015 11:16:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 11:15:16 +0000 Received: from localhost ([127.0.0.1]:37179 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlF6B-0008DR-Dp for submit@debbugs.gnu.org; Thu, 23 Apr 2015 07:15:15 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:53484) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlF68-0008DI-Mp for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 07:15:13 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id B7DDD20495 for <20385@debbugs.gnu.org>; Thu, 23 Apr 2015 07:15:11 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Thu, 23 Apr 2015 07:15:11 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=wyfzLIc/OHKDjb8Ai90MMCKVFGs=; b=fOhlt 9wItrO9DbOhGSZLUxCbstaWYrGONiZKBtsAExr4ZllysStoQXoqGXT/iA0KKQSLL 3AVmHh7+0lE3FUR7PYgCRDL6KJUY9goterWrMxdLNsYkHJ5WCNC+ZhPSp2ik5rJU L74IW2Kp8I8nqnWlyDhIA/FzmRolExi+dRwg4w= X-Sasl-enc: vK04bCUGvXr52Eu08riXbHazhsEbX/FRlxFe6jJDQjTM 1429787711 Received: from blueberry (unknown [31.211.216.84]) by mail.messagingengine.com (Postfix) with ESMTPA id F1C2BC00015; Thu, 23 Apr 2015 07:15:10 -0400 (EDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> From: Nicolas Petton In-reply-to: <5538C7EC.9010105@cs.ucla.edu> Date: Thu, 23 Apr 2015 13:15:09 +0200 Message-ID: <877ft39juq.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Paul Eggert writes: > Nicolas Petton wrote: >> inserting curved quotes when the user types a single quote (or >> another character) in a string in Elisp code? Wouldn't that be a big >> issue in other modes (or even outside of Emacs)? > > I don't see why it would need to affect other modes, or affect > programs other than Emacs. The idea is to to make it easier for Elisp > programmers to put curved single quotes into doc strings. It's not about affecting other modes, but the fact that quoting code in elisp docstrings would only be reasonably doable from Emacs' elisp mode, since curved quotes aren't easy to type. That could be a problem in cases like answering elisp question on SE, in an email, etc. > Of course there is a more-general problem of making it easier to use > curved quotes in arbitrary contexts (including contexts outside > Emacs), but that problem needn't be solved here. I don't think it's worth it to make it unnecessarily hard to write elisp docstrings anywhere else than in emacs-lisp-mode in Emacs. It might look like I insist, but something `like-this` looks more than ok to me: =2D it is a really common practice nowadays and most people understand what it means. Many projects use Markdown in their README for example; =2D it doesn't require to use a special character (understand characters that one cannot easily type on a QWERTY keyboard); =2D it fixes the "unbalanced" quotes issue that you raised as well as using a curved single quote. But again, I don't see the need for a change at all, and I have never seen how quoted code looked like in older terminals. Cheers, Nico =2D-=20 Nicolas Petton http://nicolas-petton.fr --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJVONQ9AAoJECM1h6R8IHkQIGQH/jpY2VkgbKUUs1J5kzl80Ukk olFpbweWZUlDzplugVsU3rPsE21wAfVZYgfxepRtl3LxssXW0GjQXJenjwdDR5Xy ZQHsNkV2+ZdsEIcqnfN90dwW00v8mu8N5ofpu3jFbOc0zAqOM+/CQ0tmdvwRNTdv xplItJgQR2kFpxn2n7ZQPt2psa3e5rAkXvxCOSx1HhYV3RX2jl2xqfSo2UUKk4tj JiIyqXhLGemGXlp0xA7gZhBvk9bR266eLO0YwdEJG8YDfYrIXeDtWycrce4sku4h E8Ux+vtheHFdl41V9xN2Ps9g50EKrS4IL4g9qgDPCSqLnx/60P6RhIsLl9Jz9rY= =25OM -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 12:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org Cc: Paul Eggert Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14297910729581 (code B ref 20385); Thu, 23 Apr 2015 12:12:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 12:11:12 +0000 Received: from localhost ([127.0.0.1]:37198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlFyK-0002UT-1N for submit@debbugs.gnu.org; Thu, 23 Apr 2015 08:11:12 -0400 Received: from colin.muc.de ([193.149.48.1]:13518 helo=mail.muc.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlFyI-0002UL-Bv for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 08:11:11 -0400 Received: (qmail 13292 invoked by uid 3782); 23 Apr 2015 12:11:09 -0000 Date: 23 Apr 2015 12:11:09 -0000 Message-ID: <20150423121109.13291.qmail@mail.muc.de> From: Alan Mackenzie Organization: muc.de e.V. In-Reply-To: X-Newsgroups: gnu.emacs.bug User-Agent: tin/2.2.0-20131224 ("Lochindaal") (UNIX) (FreeBSD/10.1-RELEASE (amd64)) X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) In article you wrote: > Drew Adams wrote: >> If Emacs at some point decides to switch to another code-quoting >> mechanism, that's one thing. But what it definitely should NOT do, >> IMO, is to lose code quoting > Yes, that makes sense. The latest iteration of the proposal does that, by > suggesting that doc strings use curved single quotes ?like-this? to quote code. > This mechanism is already used in the Emacs 24.5 info files, and it works well > there. It doesn't work at all well in my terminal (a Linux virtual tty). Whatever these characters are, they are displayed as inverse question marks. I'm not in favour of proliferating these characters over our code as well. How do you type them? How do you search for them? -- Alan Mackenzie (Nuremberg, Germany). From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 12:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org Cc: Paul Eggert Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142979204511016 (code B ref 20385); Thu, 23 Apr 2015 12:28:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 12:27:25 +0000 Received: from localhost ([127.0.0.1]:37204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGE0-0002rb-Kr for submit@debbugs.gnu.org; Thu, 23 Apr 2015 08:27:25 -0400 Received: from colin.muc.de ([193.149.48.1]:58431 helo=mail.muc.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGDx-0002rR-NX for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 08:27:22 -0400 Received: (qmail 17495 invoked by uid 3782); 23 Apr 2015 12:27:20 -0000 Date: 23 Apr 2015 12:27:20 -0000 Message-ID: <20150423122720.17494.qmail@mail.muc.de> From: Alan Mackenzie Organization: muc.de e.V. In-Reply-To: X-Newsgroups: gnu.emacs.bug User-Agent: tin/2.2.0-20131224 ("Lochindaal") (UNIX) (FreeBSD/10.1-RELEASE (amd64)) X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) In article you wrote: > Eli Zaretskii wrote: >> So if we want this to become our default, we need changes in >> ispell.el, to replace ? with ' before we sent it to the speller. > Although a change like that might make sense, it appears to go beyond what's > needed for doc strings. I was thinking of something more modest: change Emacs > so that if you're editing an Elisp or C string, then when you type `like-this' > it's by default changed to ?like-this?. No. Please don't do this. I hate it when proprietary programs pull this trick. If you type a self-inserting character, that is what you should get. Not all uses of ` and ' in strings are for quoting. Also there are complicated repercussions for searching and matching, and probably quite a few other things, too. -- Alan Mackenzie (Nuremberg, Germany). From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 12:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alan Mackenzie Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142979252511775 (code B ref 20385); Thu, 23 Apr 2015 12:36:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 12:35:25 +0000 Received: from localhost ([127.0.0.1]:37210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGLk-00033r-EZ for submit@debbugs.gnu.org; Thu, 23 Apr 2015 08:35:24 -0400 Received: from mtaout27.012.net.il ([80.179.55.183]:54452) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGLh-00033Z-5c for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 08:35:22 -0400 Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0NN900B00EQ3H300@mtaout27.012.net.il> for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 15:30:17 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN90010PEQHN690@mtaout27.012.net.il>; Thu, 23 Apr 2015 15:30:17 +0300 (IDT) Date: Thu, 23 Apr 2015 15:35:15 +0300 From: Eli Zaretskii In-reply-to: <20150423121109.13291.qmail@mail.muc.de> X-012-Sender: halo1@inter.net.il Message-id: <83mw1z10qk.fsf@gnu.org> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <20150423121109.13291.qmail@mail.muc.de> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: 23 Apr 2015 12:11:09 -0000 > From: Alan Mackenzie > Cc: Paul Eggert > > > This mechanism is already used in the Emacs 24.5 info files, and it works well > > there. > > It doesn't work at all well in my terminal (a Linux virtual tty). > Whatever these characters are, they are displayed as inverse question > marks. In Emacs or in the stand-alone Info reader? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 12:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142979310512619 (code B ref 20385); Thu, 23 Apr 2015 12:46:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 12:45:05 +0000 Received: from localhost ([127.0.0.1]:37217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGV7-0003HS-1o for submit@debbugs.gnu.org; Thu, 23 Apr 2015 08:45:05 -0400 Received: from colin.muc.de ([193.149.48.1]:36413 helo=mail.muc.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGV4-0003Gq-CQ for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 08:45:03 -0400 Received: (qmail 22297 invoked by uid 3782); 23 Apr 2015 12:45:00 -0000 Received: from acm.muc.de (p579E80C0.dip0.t-ipconnect.de [87.158.128.192]) by colin.muc.de (tmda-ofmipd) with ESMTP; Thu, 23 Apr 2015 14:44:58 +0200 Received: (qmail 5261 invoked by uid 1000); 23 Apr 2015 12:45:03 -0000 Date: Thu, 23 Apr 2015 12:45:03 +0000 Message-ID: <20150423124503.GA5188@acm.fritz.box> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <20150423121109.13291.qmail@mail.muc.de> <83mw1z10qk.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83mw1z10qk.fsf@gnu.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hello, Eli. On Thu, Apr 23, 2015 at 03:35:15PM +0300, Eli Zaretskii wrote: > > Date: 23 Apr 2015 12:11:09 -0000 > > From: Alan Mackenzie > > Cc: Paul Eggert > > > This mechanism is already used in the Emacs 24.5 info files, and it works well > > > there. > > It doesn't work at all well in my terminal (a Linux virtual tty). > > Whatever these characters are, they are displayed as inverse question > > marks. > In Emacs or in the stand-alone Info reader? In Emacs. I haven't yet tried it in the stand-alone Info reader. -- Alan Mackenzie (Nuremberg, Germany). From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 13:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alan Mackenzie Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142979440914462 (code B ref 20385); Thu, 23 Apr 2015 13:07:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 13:06:49 +0000 Received: from localhost ([127.0.0.1]:37231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGq8-0003lB-TK for submit@debbugs.gnu.org; Thu, 23 Apr 2015 09:06:49 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:60515) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlGq6-0003ky-O7 for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 09:06:47 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NN900200GG3AZ00@mtaout26.012.net.il> for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 16:08:15 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN900OCJGHQV220@mtaout26.012.net.il>; Thu, 23 Apr 2015 16:08:15 +0300 (IDT) Date: Thu, 23 Apr 2015 16:06:41 +0300 From: Eli Zaretskii In-reply-to: <20150423124503.GA5188@acm.fritz.box> X-012-Sender: halo1@inter.net.il Message-id: <83k2x30za6.fsf@gnu.org> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <20150423121109.13291.qmail@mail.muc.de> <83mw1z10qk.fsf@gnu.org> <20150423124503.GA5188@acm.fritz.box> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 23 Apr 2015 12:45:03 +0000 > Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu > From: Alan Mackenzie > > > > It doesn't work at all well in my terminal (a Linux virtual tty). > > > Whatever these characters are, they are displayed as inverse question > > > marks. > > > In Emacs or in the stand-alone Info reader? > > In Emacs. We can easily fix that, e.g. by using a display table in Info and *Help* buffers. > I haven't yet tried it in the stand-alone Info reader. The next version of Texinfo's Info reader will use ASCII replacements on text terminals that cannot display these (and other) characters. Of course, the search issue still remains, you will have to use "C-x 8 RET", unless we provide commands to insert these characters directly. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 14:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142980068124176 (code B ref 20385); Thu, 23 Apr 2015 14:52:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 14:51:21 +0000 Received: from localhost ([127.0.0.1]:37880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlITI-0006Hq-Ga for submit@debbugs.gnu.org; Thu, 23 Apr 2015 10:51:20 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:46453) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlITG-0006Hb-0R for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 10:51:18 -0400 Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3NEpAhZ003459 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Apr 2015 14:51:10 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3NEp9D4010561 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 23 Apr 2015 14:51:09 GMT Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t3NEp9lX023783; Thu, 23 Apr 2015 14:51:09 GMT MIME-Version: 1.0 Message-ID: Date: Thu, 23 Apr 2015 07:51:08 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <55389509.60100@cs.ucla.edu> In-Reply-To: <55389509.60100@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: userv0021.oracle.com [156.151.31.71] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > British and American usages tends to be reversed wrt which curly > > quotes, single or double, are used at the first level: >=20 > Sure, and the tradition in many GNU projects is to use American- > style quoting for regular English text, and British-style quoting > for code. For example, the Emacs 24.5 manual's info files quote > ordinary text like this: > Emacs occupies a =E2=80=9Cgraphical window=E2=80=9D > and quote code like this: > A description of an imaginary variable, =E2=80=98electric-future-map= =E2=80=99. >=20 > Changing doc strings to look like the latter will better implement > the longstanding style for documentation in GNU projects. It's what > quoting `like this' was originally intended to do (and *did* do, > with circa-1965 draft ASCII). It's an eminently reasonable way to > quote code in documentation. Sorry, but I disagree, whether or not you can claim that it has been some kind of GNU convention. It is foolhardy. Both double and single curly quotes are used for _ordinary text_ out there in the real wide world. Emacs is in that wide world, and increasingly so. Emacs is a very general tool, being usable for all sorts of editing and other activities. And that includes editing ordinary text. And ordinary text that often has embedded code terms. Sacrificing being able to use two levels of quoting for ordinary text in favor of stealing one of them for code quoting, just so that we can wave our hands and say that we respect some old GNU convention, is quite short-sighted. Coming from someone who touts his proposed change as bringing up to "nowadays" and "modern" ways, I should be surprised. But I'm not. In short, Emacs should have all three: single and double curly quotes for their usual uses with ordinary text, and some reasonable and distinctive way to quote code that is embedded in ordinary text. If this were HTML or XML (or even JSON) then we would not be trying to sacrifice one of the first two for the third. We would simply adopt an unmistakable tag for code quoting. My vote is (clearly) to keep `...' for quoting code in Info, doc strings, Emacs-Lisp mode,... It is simple, easy-to-use, and versatile, and it has proven itself for at least 4 decades. So far, we have heard exactly ONE (weak) argument against it: you find it ugly. I'd say prettify it in your own environment, if it really bothers you, but otherwise leave it alone. Let's not sacrifice the usefulness of this proven convention for someone's purely cosmetic concerns. Or was there another argument in favor of your proposed change that I missed? I've asked several times now, but have gotten no reply to the question. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 15:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Nicolas Petton Cc: 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142980315527796 (code B ref 20385); Thu, 23 Apr 2015 15:33:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 15:32:35 +0000 Received: from localhost ([127.0.0.1]:37896 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlJ7D-0007EG-9t for submit@debbugs.gnu.org; Thu, 23 Apr 2015 11:32:35 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:21814) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlJ7B-0007E3-7H for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 11:32:33 -0400 Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3NFWKjJ027651 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Apr 2015 15:32:20 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3NFWJYh019652 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 23 Apr 2015 15:32:19 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by userv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3NFWIrB006074; Thu, 23 Apr 2015 15:32:19 GMT MIME-Version: 1.0 Message-ID: <8188dbc3-0e10-4590-90ab-113798f27eda@default> Date: Thu, 23 Apr 2015 08:32:18 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <55389509.60100@cs.ucla.edu> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I said this, which is not clear: > If this were HTML or XML (or even JSON) then we would not be trying > to sacrifice one of the first two for the third. We would simply > adopt an unmistakable tag for code quoting. No doubt we do have a similarly unmistakable tag for code quoting, in TexInfo. That tag is transformed to `...' in Emacs Info. If it were transformed to =E2=80=98...=E2=80=99 instead then we would lose the distinction between= single-quoted ordinary text and quoted code. That's all. And of course in help (e.g. `C-h f') and in Emacs-Lisp comments and doc strings, there is no TexInfo representation. Users should be able to search for a code term foo and not also hit ordinary text occurrences of foo. That is approximately possible today. And it is simple today to (reasonably, if imperfectly) tell font-lock to highlight `...' occurrences (as it would be for =E2=80=98...= =E2=80=99). In some XML-based editors that provide a WSIWYG view, users can search specially for a given element (e.g. ) or one with a given attribute value, while remaining in WYSIWYG. But that is a separate search capability from regexp or simple text search in the same editors. In Emacs you can easily search for `...' occurrences and pretty much find what you are looking for. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 17:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams , Nicolas Petton Cc: Eli Zaretskii , 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14298091134321 (code B ref 20385); Thu, 23 Apr 2015 17:12:01 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 17:11:53 +0000 Received: from localhost ([127.0.0.1]:37967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlKfI-00017d-RV for submit@debbugs.gnu.org; Thu, 23 Apr 2015 13:11:53 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:56901) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlKfG-00017P-TT for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 13:11:51 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 8FBFFA60012; Thu, 23 Apr 2015 10:11:44 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9j+7WM2pvt80; Thu, 23 Apr 2015 10:11:43 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 9B5BEA6000F; Thu, 23 Apr 2015 10:11:43 -0700 (PDT) Message-ID: <553927CC.5010901@cs.ucla.edu> Date: Thu, 23 Apr 2015 10:11:40 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <55389509.60100@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On 04/23/2015 07:51 AM, Drew Adams wrote: > Sacrificing being able to use two levels of quoting for ordinary > text in favor of stealing one of them for code quoting That's not what the Emacs info files do. They prefer American English conventions for ordinary text, including quoting “like this” for ordinary top-level text. And they prefer single quoting at the top level ‘like-this’ for quoting code. There's no ambiguity in practice, as ordinary quoted text does not quote code in the manuals. Emacs doc strings are similar, so there won't be any ambiguity in practice there either. > No doubt we do have a similarly unmistakable tag for code quoting, > in TexInfo. Yes, it's @code{whatever}. > That tag is transformed to `...' in Emacs Info. No, @code{foo} is transformed to ‘foo’. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 17:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Nicolas Petton Cc: 20385@debbugs.gnu.org, Stefan Monnier Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14298103316177 (code B ref 20385); Thu, 23 Apr 2015 17:33:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 17:32:11 +0000 Received: from localhost ([127.0.0.1]:37980 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlKyx-0001bZ-71 for submit@debbugs.gnu.org; Thu, 23 Apr 2015 13:32:11 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57909) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlKyv-0001bN-O0 for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 13:32:10 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id C0409A60012; Thu, 23 Apr 2015 10:32:02 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9mu-R1dk15dy; Thu, 23 Apr 2015 10:32:01 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id B6227A60010; Thu, 23 Apr 2015 10:32:01 -0700 (PDT) Message-ID: <55392C91.1010300@cs.ucla.edu> Date: Thu, 23 Apr 2015 10:32:01 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> In-Reply-To: <877ft39juq.fsf@petton.fr> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On 04/23/2015 04:15 AM, Nicolas Petton wrote: > quoting code in > elisp docstrings would only be reasonably doable from Emacs' elisp mode, No, they're reasonably doable from any editor that supports smart quoting. Although Emacs doesn't have this option, it's common elsewhere, and it shouldn't be that hard to add it to Emacs. As for quoting `like this` that still doesn't sound like a good idea. Do we really want to switch to Markdown (or something like it) for doc strings? That would be a much bigger project, and would be work that nobody's prepared to do, and its overall costs could well exceed its benefits. Finally, from this thread it's clear that some folks like quoting `like this' and I suppose there's no harm in continuing to support it, so in my next iteration of this patch I plan to remove commentary to the effect that this usage is obsolescent and may not be supported in the future. So, people who prefer quoting `like this' (e.g., because it's easier with their non-Emacs text editors), will still be free to do that. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 18:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981339610637 (code B ref 20385); Thu, 23 Apr 2015 18:24:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 18:23:16 +0000 Received: from localhost ([127.0.0.1]:37992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlLmN-0002lV-GG for submit@debbugs.gnu.org; Thu, 23 Apr 2015 14:23:15 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:30785) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlLmK-0002lG-I1 for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 14:23:13 -0400 Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3NIN560000587 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Apr 2015 18:23:05 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t3NIN5K0009754 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 23 Apr 2015 18:23:05 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3NIN4E2000962; Thu, 23 Apr 2015 18:23:05 GMT MIME-Version: 1.0 Message-ID: <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> Date: Thu, 23 Apr 2015 11:23:03 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> In-Reply-To: <55392C91.1010300@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > Finally, from this thread it's clear that some folks like quoting > `like this' and I suppose there's no harm in continuing to support it, > so in my next iteration of this patch I plan to remove commentary to the > effect that this usage is obsolescent and may not be supported in > the future. So, people who prefer quoting `like this' (e.g., because > it's easier with their non-Emacs text editors), will still be free to do > that. 1. What exactly do you mean by "people who prefer...will still be free to do that"? Is this choice only at the end-user level? Can a library make such a choice (to be possibly overridden by a user choice)? 2. Does your proposed change affect only Info? I think that, at the very least by default, users should have the same experience wrt such code quoting for Info, doc strings, and Emacs-Lisp (doc strings and comments). They should not (at least not by default) see `foobar' in a doc string and Emacs-Lisp mode, and =E2=80=98foobar=E2=80=99 in Inf= o. IOW, a user should be able to make her choice clear wrt such quoting: * everywhere, at once (i.e. Info, doc strings, Emacs-Lisp mode) * each individual place, separately 3. To repeat myself: I really feel like you are jumping the gun on this kind of thing. We should not offer anything like this, even as a choice, unless and until Emacs can deal with it properly (a) in all respects: input, search, font-lock,... and (b) everywhere. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 19:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams , Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981791217354 (code B ref 20385); Thu, 23 Apr 2015 19:39:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 19:38:32 +0000 Received: from localhost ([127.0.0.1]:38029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlMxD-0004Vp-KP for submit@debbugs.gnu.org; Thu, 23 Apr 2015 15:38:31 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:35744) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlMxB-0004Vd-Um for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 15:38:30 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id BB41EA6000F; Thu, 23 Apr 2015 12:38:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6FIjGjNm7YIv; Thu, 23 Apr 2015 12:38:23 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id F34AFA60002; Thu, 23 Apr 2015 12:38:22 -0700 (PDT) Message-ID: <55394A2E.8020002@cs.ucla.edu> Date: Thu, 23 Apr 2015 12:38:22 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> In-Reply-To: <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On 04/23/2015 11:23 AM, Drew Adams wrote: > 1. What exactly do you mean by "people who prefer...will still be free > to do that"? Is this choice only at the end-user level? Can a > library make such a choice (to be possibly overridden by a user choice)? I mean that Lisp code can use either style in its doc strings, and Emacs will work either way. End users will see what's in the doc string; I'm not proposing any on-the-fly reformatting (other than what's already there, for limited old displays), as I doubt whether the extra complexity would be worth the hassle in the long run. > 2. Does your proposed change affect only Info? The proposed change doesn't affect info. Info files in the Emacs distribution already use curved single quotes. Texinfo files will continue to use quotes `like this', to indicate curved single quotes in Emacs's info files. Similarly, quoting ``like this'' in a Texinfo file will continue to generate curved double quotes in Emacs's info files. > users should have the same experience wrt such > code quoting for Info, doc strings, and Emacs-Lisp (doc strings and > comments). Yes, that's the longer term proposal for Emacs's files, using curved single quotes. The current patch is one step in that direction. Under this approach, users who prefer to quote `like this' will still be able to do that in their own doc strings and manuals. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 19:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alan Mackenzie , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981813717691 (code B ref 20385); Thu, 23 Apr 2015 19:43:01 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 19:42:17 +0000 Received: from localhost ([127.0.0.1]:38033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlN0q-0004bH-Ev for submit@debbugs.gnu.org; Thu, 23 Apr 2015 15:42:16 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:35963) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlN0p-0004b2-6B for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 15:42:15 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9C056A6000F; Thu, 23 Apr 2015 12:42:09 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ultqP9LJUhyH; Thu, 23 Apr 2015 12:42:09 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 018ADA60002; Thu, 23 Apr 2015 12:42:09 -0700 (PDT) Message-ID: <55394B10.6030205@cs.ucla.edu> Date: Thu, 23 Apr 2015 12:42:08 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <20150423122720.17494.qmail@mail.muc.de> In-Reply-To: <20150423122720.17494.qmail@mail.muc.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On 04/23/2015 05:27 AM, Alan Mackenzie wrote: > I hate it when proprietary programs pull this > trick. If we do anything like smartquotes, it should be an option that you can turn off, and there should be a more-traditional-but-still-easy way to insert curved single quotes. For the latter, perhaps we could have M-( insert "‘’" when in a string or comment. M-( is already documented to have a precondition that point is not in a string or comment, so this would be an upward-compatible extension. Or perhaps you could suggest better bindings. This sort of thing might be good enough that we wouldn't need smartquotes after all. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 19:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: Nicolas Petton , 20385@debbugs.gnu.org, Stefan Monnier Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981844018139 (code B ref 20385); Thu, 23 Apr 2015 19:48:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 19:47:20 +0000 Received: from localhost ([127.0.0.1]:38038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlN5j-0004iS-9c for submit@debbugs.gnu.org; Thu, 23 Apr 2015 15:47:19 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:54293) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlN5g-0004iH-St for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 15:47:17 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 9B94D208FF for <20385@debbugs.gnu.org>; Thu, 23 Apr 2015 15:47:14 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Thu, 23 Apr 2015 15:47:14 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=jK9weGRrdHwTWNEoULFUmlH7nZE=; b=FK35s baaOOPr7/SHqGz7OdTchuV65xWxIOgnxiQf1fXIHzo+73x8w0nwolcpFqf5eKaHH jZR2JJbbIYEChVLqqnifA2dqrFQkl7Jj0ia2jAZqU8DPSDLlXdXcReEhebsTEgYq P0kMmeN92WcX3tBbUa5Cz3rX213zNNPMp28aHA= X-Sasl-enc: LEI504UvrzcquvHmkhEJr11cFQWPk/QaGLZ/L1WYu2RX 1429818434 Received: from blueberry (unknown [80.216.74.58]) by mail.messagingengine.com (Postfix) with ESMTPA id 2F7FF680124; Thu, 23 Apr 2015 15:47:12 -0400 (EDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> From: Nicolas Petton In-reply-to: <55392C91.1010300@cs.ucla.edu> Date: Thu, 23 Apr 2015 21:47:11 +0200 Message-ID: <87wq128w5c.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Paul Eggert writes: > On 04/23/2015 04:15 AM, Nicolas Petton wrote: >> quoting code in >> elisp docstrings would only be reasonably doable from Emacs' elisp mode, > > No, they're reasonably doable from any editor that supports smart=20 > quoting. Although Emacs doesn't have this option, it's common=20 > elsewhere, and it shouldn't be that hard to add it to Emacs. > > As for quoting `like this` that still doesn't sound like a good idea.=20= =20 > Do we really want to switch to Markdown (or something like it) for doc=20 > strings? That would be a much bigger project, and would be work that=20 > nobody's prepared to do, and its overall costs could well exceed its=20 > benefits. I never suggested adding support for Markdown, I gave Markdown as an example of `...` being used to quote code. Nico =2D-=20 Nicolas Petton http://nicolas-petton.fr --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJVOUw/AAoJECM1h6R8IHkQ4VsIALuGJatl6uZDJXisoWMt6o4L TWwnUOgap2F9qNOKEsyQyvl/DNgc7qmLBkc24KQl5Qk3PGKWD38HDJqNV9EppyJA R1d22CkqAHlEPIO+vHJ9yG6ghvVE7jhmY2XE2nZPsEXmV5SesoIKj8wH3GnrdFId 2GLEYNzgWtnpmTBePBVi/hjEUcXybgbncYbQsdmhmb6M73dVHiOOWFdheU7X0cN3 Up444lDylzgd+09h/k4XLMFv8BRk7Pd7HMWev2EC+lgZWShAU1F25d4GYj8MZLYc 6yTlyfE+ZSU0A56+zsUwC+Bpy3BbGKM0GNJZf4gKRqToI8J9pBG7rbNLq6aL35o= =TpPV -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 19:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981893918859 (code B ref 20385); Thu, 23 Apr 2015 19:56:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 19:55:39 +0000 Received: from localhost ([127.0.0.1]:38051 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNDm-0004u6-Pu for submit@debbugs.gnu.org; Thu, 23 Apr 2015 15:55:39 -0400 Received: from mail-wi0-f173.google.com ([209.85.212.173]:38422) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNDk-0004tt-F7 for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 15:55:36 -0400 Received: by wiun10 with SMTP id n10so104572716wiu.1 for <20385@debbugs.gnu.org>; Thu, 23 Apr 2015 12:55:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=djH5lqxWYcsjkvfVR2daZ2GZTwpotKRsltGWPQQpvns=; b=xGXP+nAzDiqYb4hmX9BTd5a4AiuDStv02RwF7PNeMyQXnNhVhtfyYUI+xhCXHzLkXv deNaPwgqBygP76/cJU6ze2DmH5QzX0LqKbxHzueLNsxY4Cy1RpPZ2REc4E4l3r4dmU5r bXeG/r/i0UKERAIovGIfvblbJjSmYzj4O5sZf11/SOq/I7tqK734GsizX0KALTGTnq1o skoltBJCX8WM0iiRmBwgKna8DYfAV17svNa5iJxPHA2cktIJFOmvMVczsvRBdZDYY/37 slMwRNvl7uPujjXTEGIy17XPrdRAbGhujhnEvdZ1T/jW/rEEp8j/1PYWvCASEFxy9Ah6 PXiw== X-Received: by 10.180.77.170 with SMTP id t10mr8928570wiw.5.1429818930787; Thu, 23 Apr 2015 12:55:30 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id s4sm328189wix.14.2015.04.23.12.55.29 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Apr 2015 12:55:30 -0700 (PDT) Message-ID: <55394E30.8040307@yandex.ru> Date: Thu, 23 Apr 2015 22:55:28 +0300 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> In-Reply-To: <83lhhk4phe.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 04/22/2015 10:00 AM, Eli Zaretskii wrote: >> > Moreover, AFAIU people who want to see ‘this’ actually _want_ to see >>> the u+2018 etc. characters in the file/buffer. >> >> That's no problem: fontify the source files like that, too. > > No, they want the characters to be in the file. Who are those people, and why do they want that? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 19:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981907119072 (code B ref 20385); Thu, 23 Apr 2015 19:58:01 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 19:57:51 +0000 Received: from localhost ([127.0.0.1]:38059 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNFv-0004xY-3z for submit@debbugs.gnu.org; Thu, 23 Apr 2015 15:57:51 -0400 Received: from mail-wg0-f53.google.com ([74.125.82.53]:35095) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNFs-0004xG-LD for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 15:57:49 -0400 Received: by wgyo15 with SMTP id o15so29752518wgy.2 for <20385@debbugs.gnu.org>; Thu, 23 Apr 2015 12:57:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=XrjSKL/eixAQQDl++WwuTBxIWM9kn36XiQh3lf7QPXw=; b=aQmJ/uNDmPTcIJhToepYmrzuN7Uaqxr9nAAGzS2CM+XlvI42/eIlw4emL0Eu3gfOHS wrcLAO4Ih8mxI441RSiQT5Xa2mZkP9sJ/MHTBBYmmL+wepJZKwfP5hR8tEwFuZ0YQ866 6zuPHmmlJpW7gipWvpwkvS2oKbqqYNu0OfU1ELA6eUHCfKUXceFzhTUc1qKo9uA3TArM oTbm45Ly1GR32ElNtlLykSjqzcWdn+QB2KMc7f292CODxY8cNYzrUb3FcJvgWTjevwNX 8Qhxcc2qfJvRvMynF4Kxqak2n/JrOydv0gvZCTgRU/MhVgqrl2RR5oztwwPfRDbixCoW wpOA== X-Received: by 10.180.82.100 with SMTP id h4mr18688837wiy.84.1429819062878; Thu, 23 Apr 2015 12:57:42 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id ew10sm310445wic.22.2015.04.23.12.57.41 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Apr 2015 12:57:42 -0700 (PDT) Message-ID: <55394EB4.5090103@yandex.ru> Date: Thu, 23 Apr 2015 22:57:40 +0300 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> In-Reply-To: <55392C91.1010300@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 04/23/2015 08:32 PM, Paul Eggert wrote: > Finally, from this thread it's clear that some folks like quoting `like > this' and I suppose there's no harm in continuing to support it, so in > my next iteration of this patch I plan to remove commentary to the > effect that this usage is obsolescent and may not be supported in the > future. So, people who prefer quoting `like this' (e.g., because it's > easier with their non-Emacs text editors), will still be free to do that. Please, let's not have multiple standards for this trivial thing. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 20:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981939619628 (code B ref 20385); Thu, 23 Apr 2015 20:04:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 20:03:16 +0000 Received: from localhost ([127.0.0.1]:38063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNLA-00056W-3d for submit@debbugs.gnu.org; Thu, 23 Apr 2015 16:03:16 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:61770) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNL6-00056G-SH for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 16:03:13 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NN900200Z3R2C00@a-mtaout23.012.net.il> for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 23:03:06 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN90013PZP5ZV50@a-mtaout23.012.net.il>; Thu, 23 Apr 2015 23:03:06 +0300 (IDT) Date: Thu, 23 Apr 2015 23:03:08 +0300 From: Eli Zaretskii In-reply-to: <55394E30.8040307@yandex.ru> X-012-Sender: halo1@inter.net.il Message-id: <83oamezk77.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <55394E30.8040307@yandex.ru> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 23 Apr 2015 22:55:28 +0300 > From: Dmitry Gutov > CC: 20385@debbugs.gnu.org, eggert@cs.ucla.edu > > On 04/22/2015 10:00 AM, Eli Zaretskii wrote: > > >> > Moreover, AFAIU people who want to see ‘this’ actually _want_ to see > >>> the u+2018 etc. characters in the file/buffer. > >> > >> That's no problem: fontify the source files like that, too. > > > > No, they want the characters to be in the file. > > Who are those people, and why do they want that? Those who follow Markus Kuhn's advice, read here: http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 20:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981965120016 (code B ref 20385); Thu, 23 Apr 2015 20:08:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 20:07:31 +0000 Received: from localhost ([127.0.0.1]:38068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNPG-0005Cm-P4 for submit@debbugs.gnu.org; Thu, 23 Apr 2015 16:07:31 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:46190) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNPE-0005CY-OH for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 16:07:29 -0400 Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3NK7FPA013257 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Apr 2015 20:07:16 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3NK7F9Y020992 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 23 Apr 2015 20:07:15 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3NK7FPq009278; Thu, 23 Apr 2015 20:07:15 GMT MIME-Version: 1.0 Message-ID: Date: Thu, 23 Apr 2015 13:07:14 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> <55394A2E.8020002@cs.ucla.edu> In-Reply-To: <55394A2E.8020002@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: userv0021.oracle.com [156.151.31.71] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > Info files in the Emacs distribution already use curved single > quotes. I sure hope not. That's not the case in the Windows binary builds I was able to download. But there is no Windows build for the latest release. That will certainly be a step backward, if what you say is true. > > users should have the same experience wrt such > > code quoting for Info, doc strings, and Emacs-Lisp (doc > > strings and comments). >=20 > Yes, that's the longer term proposal for Emacs's files, using curved > single quotes. You mean that it is one of your longer-term proposals, I assume. AFAIK, there is no such longer-term plan published by GNU for Emacs's files. Whatever is planned by GNU, I hope it allows users to at least choose the reliable, conventional system we've enjoyed for 40 years. =20 =20 > The current patch is one step in that direction. > Under this approach, users who prefer to quote `like this' will > still be able to do that in their own doc strings and manuals. 1. You didn't answer my question about libraries being able to choose (possibly overridden by a user). 2. This sop is not at all sufficient: "able to do that in their *own* doc strings and manuals". Might as well say that you will allow folks to do what they like in their own fork of Emacs. 3. You have still given *no* argument in favor of anything you've proposed here. We've seen only the pseudo-argument that you find the Emacs way "ugly". IMHO, this self-styled beautification proposal should be considered a non-starter. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 20:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: nicolas@petton.fr, eggert@cs.ucla.edu, 20385@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142981998320495 (code B ref 20385); Thu, 23 Apr 2015 20:14:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 20:13:03 +0000 Received: from localhost ([127.0.0.1]:38072 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNUc-0005KV-Ty for submit@debbugs.gnu.org; Thu, 23 Apr 2015 16:13:03 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:36551) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNUa-0005Jv-Hx for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 16:13:01 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NN900A00ZQTA000@mtaout25.012.net.il> for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 23:08:36 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN9005PDZYBMA40@mtaout25.012.net.il>; Thu, 23 Apr 2015 23:08:36 +0300 (IDT) Date: Thu, 23 Apr 2015 23:12:55 +0300 From: Eli Zaretskii In-reply-to: X-012-Sender: halo1@inter.net.il Message-id: <83lhhizjqw.fsf@gnu.org> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> <55394A2E.8020002@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 23 Apr 2015 13:07:14 -0700 (PDT) > From: Drew Adams > Cc: 20385@debbugs.gnu.org > > > Info files in the Emacs distribution already use curved single > > quotes. > > I sure hope not. That's not the case in the Windows binary builds > I was able to download. But there is no Windows build for the latest > release. That will certainly be a step backward, if what you say > is true. This depends on the version of Texinfo used to generate the Info files. With the latest version, what Paul says is true. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 20:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Dmitry Gutov Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142982002220552 (code B ref 20385); Thu, 23 Apr 2015 20:14:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 20:13:42 +0000 Received: from localhost ([127.0.0.1]:38075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNVF-0005LP-LG for submit@debbugs.gnu.org; Thu, 23 Apr 2015 16:13:42 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:49661) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNVE-0005L8-0W for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 16:13:40 -0400 Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3NKDWGL020478 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Apr 2015 20:13:33 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t3NKDWwo001606 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 23 Apr 2015 20:13:32 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by userv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t3NKDVZG014632; Thu, 23 Apr 2015 20:13:31 GMT MIME-Version: 1.0 Message-ID: <4b159230-cd7e-4cb9-a778-3ad7ed2ae301@default> Date: Thu, 23 Apr 2015 13:13:30 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <55394E30.8040307@yandex.ru> <83oamezk77.fsf@gnu.org> In-Reply-To: <83oamezk77.fsf@gnu.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > Who are those people, and why do they want that? >=20 > Those who follow Markus Kuhn's advice, read here: > http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html ...where the *only* argument given is, again, "it looked rather ugly". That is the only "why do they want that" that we have heard, so far. And of course Mr. Kuhn is not specifically talking about an environment such as Emacs, where you do more with text than just read it. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 20:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Drew Adams Cc: nicolas@petton.fr, eggert@cs.ucla.edu, 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142982015720781 (code B ref 20385); Thu, 23 Apr 2015 20:16:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 20:15:57 +0000 Received: from localhost ([127.0.0.1]:38080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNXQ-0005P6-Ba for submit@debbugs.gnu.org; Thu, 23 Apr 2015 16:15:56 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:50718) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlNXN-0005Os-N3 for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 16:15:54 -0400 Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3NKFlGw022910 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Apr 2015 20:15:47 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t3NKFkql032616 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 23 Apr 2015 20:15:47 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t3NKFkG3030121; Thu, 23 Apr 2015 20:15:46 GMT MIME-Version: 1.0 Message-ID: <301114e4-e78f-4ae9-a3db-1db4028dd620@default> Date: Thu, 23 Apr 2015 13:15:46 -0700 (PDT) From: Drew Adams References: <<1429555155-4695-1-git-send-email-eggert@cs.ucla.edu>> <> <<5535974D.9050207@cs.ucla.edu>> <> <<5535C7F3.7020107@cs.ucla.edu>> <<83618p5y9w.fsf@gnu.org>> <> <<83vbgp49ve.fsf@gnu.org>> <> <<83pp6x45x5.fsf@gnu.org>> <<5536ACB3.9040707@yandex.ru>> <<83lhhk4phe.fsf@gnu.org>> <> <<87a8y0jmba.fsf@petton.fr>> <<6837d058-ba18-461b-8af6-2c4e6d767348@default>> <<55383081.4010106@cs.ucla.edu>> <<87a8xzae0o.fsf@petton.fr>> <<55389500.8000404@cs.ucla.edu>> <<878udj9pfq.fsf@petton.fr>> <<5538C7EC.9010105@cs.ucla.edu>> <<877ft39juq.fsf@petton.fr>> <<55392C91.1010300@cs.ucla.edu>> <<84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default>> <<55394A2E.8020002@cs.ucla.edu>> <> <<83lhhizjqw.fsf@gnu.org>> In-Reply-To: <<83lhhizjqw.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: userv0022.oracle.com [156.151.31.74] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > > Info files in the Emacs distribution already use curved single > > > quotes. > > > > I sure hope not. That's not the case in the Windows binary builds > > I was able to download. But there is no Windows build for the > > latest release. That will certainly be a step backward, if what > > you say is true. >=20 > This depends on the version of Texinfo used to generate the Info > files. With the latest version, what Paul says is true. Yes, but I thought you were keeping an eye out, Eli ;-), and making sure that at least the Windows Emacs builds used an older version. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Apr 2015 23:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams , Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14298314705011 (code B ref 20385); Thu, 23 Apr 2015 23:25:02 +0000 Received: (at 20385) by debbugs.gnu.org; 23 Apr 2015 23:24:30 +0000 Received: from localhost ([127.0.0.1]:38111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlQTt-0001Ij-MB for submit@debbugs.gnu.org; Thu, 23 Apr 2015 19:24:30 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:44979) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlQTq-0001IM-Fl for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 19:24:27 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 98ED0A6000F; Thu, 23 Apr 2015 16:24:20 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8EaZ3UZgts2n; Thu, 23 Apr 2015 16:24:19 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 95F7FA60002; Thu, 23 Apr 2015 16:24:19 -0700 (PDT) Message-ID: <55397F23.1070804@cs.ucla.edu> Date: Thu, 23 Apr 2015 16:24:19 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> <55394A2E.8020002@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On 04/23/2015 01:07 PM, Drew Adams wrote: > 1. You didn't answer my question about libraries being able to > choose (possibly overridden by a user). Sorry if the answer was unclear. Under the current proposal, a library of Emacs Lisp code can choose either style, by using the style in its doc strings. By default, the user will see the library's style. So yes, libraries can choose. As Eli mentioned, there's a mechanism in Emacs to display Unicode characters using approximations on less-capable displays, and in that sense the user will be able override a library that prefers curved quotes. > Might as well say that you will > allow folks to do what they like in their own fork of Emacs. No, not at all. Libraries that want to remain easily-editable in older versions of Emacs can continue to quote `like this'; their users and developers won't need to fork Emacs. > 3. You have still given*no* argument in favor of anything you've > proposed here. We've seen only the pseudo-argument that you find > the Emacs way "ugly". It's not a pseudo argument. Appearance matters, and the older style is off-putting on today's displays. This is why the GNU coding standards recommend against quoting `like this'. See: http://www.gnu.org/prep/standards/html_node/Quote-Characters.html From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 00:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142983509910714 (code B ref 20385); Fri, 24 Apr 2015 00:25:01 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 00:24:59 +0000 Received: from localhost ([127.0.0.1]:38130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlRQR-0002mh-3Y for submit@debbugs.gnu.org; Thu, 23 Apr 2015 20:24:59 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:24860) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlRQP-0002mQ-6O for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 20:24:57 -0400 Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3O0OnfP001148 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 24 Apr 2015 00:24:50 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t3O0OnvG002544 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 24 Apr 2015 00:24:49 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t3O0Onqo006118; Fri, 24 Apr 2015 00:24:49 GMT MIME-Version: 1.0 Message-ID: <9630d98c-5a3d-410f-b927-8ab37d9a7d11@default> Date: Thu, 23 Apr 2015 17:24:48 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> <55394A2E.8020002@cs.ucla.edu> <55397F23.1070804@cs.ucla.edu> In-Reply-To: <55397F23.1070804@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > This sop is not at all sufficient: "able to do that in their > > *own* doc strings and manuals". Might as well say that you will > > allow folks to do what they like in their own fork of Emacs. >=20 > No, not at all. Libraries that want to remain easily-editable in > older versions of Emacs can continue to quote `like this'; their > users and developers won't need to fork Emacs. So if someone wants to avoid your change then they have a choice: fork Emacs or use an older Emacs version. Wunderbar. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 03:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142984466825062 (code B ref 20385); Fri, 24 Apr 2015 03:05:02 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 03:04:28 +0000 Received: from localhost ([127.0.0.1]:38170 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlTum-0006W8-CA for submit@debbugs.gnu.org; Thu, 23 Apr 2015 23:04:28 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:36207) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlTuk-0006Vw-PU for 20385@debbugs.gnu.org; Thu, 23 Apr 2015 23:04:27 -0400 Received: by wgen6 with SMTP id n6so36853323wge.3 for <20385@debbugs.gnu.org>; Thu, 23 Apr 2015 20:04:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=b/SOHpPhjeZUN9hWV5p4xMSovTvxLdjzwQvER8e7vVk=; b=knviJjrHn+XGTiS498Ec/xtKy9d5vGInsWvvsAtH6t9feI0LxNRKQ9iqbId/wtLRi0 C/T1jjsBxEEbzQ7owI4g4bN/oNVIde0L8AatnnpSSUUDFZQQjhI03uyQOBSQJmAWvd+r mE7Tr6lnq8LFCEufLUS6+TEi7TJ74Jx/CBwVpehbphpGs+9qw1V82oc2tNPzn0KrRatG TxHLk4RoCojcHLQo5wcAS5CkpivHG+7rgVn84Hk963H6j3w5ctcpzLdJTB/RxeQe5Mxt 9IRc+vuwvlkiRdiVP+r/BEnWX5k1mL9VpzfHvVh3/+KPxnIaPjqn5EDo7WOWj9PS25+m GENw== X-Received: by 10.194.91.129 with SMTP id ce1mr11533734wjb.53.1429844661261; Thu, 23 Apr 2015 20:04:21 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id b5sm1570679wiw.8.2015.04.23.20.04.20 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Apr 2015 20:04:21 -0700 (PDT) Message-ID: <5539B2B2.7050709@yandex.ru> Date: Fri, 24 Apr 2015 06:04:18 +0300 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <55394E30.8040307@yandex.ru> <83oamezk77.fsf@gnu.org> In-Reply-To: <83oamezk77.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 04/23/2015 11:03 PM, Eli Zaretskii wrote: >> Who are those people, and why do they want that? > > Those who follow Markus Kuhn's advice, read here: > > http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html I think that's typographical advice, and not necessarily applicable to text editors. It's pretty common to use slightly awkward (but easy to type and unambiguous) markup in source code, and then convert it to something nicer in generated documentation. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 04:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams , Nicolas Petton Cc: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14298508702043 (code B ref 20385); Fri, 24 Apr 2015 04:48:01 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 04:47:50 +0000 Received: from localhost ([127.0.0.1]:38188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlVWn-0000Wt-VE for submit@debbugs.gnu.org; Fri, 24 Apr 2015 00:47:50 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:54689) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlVWl-0000We-47 for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 00:47:47 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B5C3FA6000F; Thu, 23 Apr 2015 21:47:40 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pkIffWlymiuR; Thu, 23 Apr 2015 21:47:40 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 47379A60002; Thu, 23 Apr 2015 21:47:40 -0700 (PDT) Message-ID: <5539CAEB.1030301@cs.ucla.edu> Date: Thu, 23 Apr 2015 21:47:39 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <87a8y0jmba.fsf@petton.fr> <6837d058-ba18-461b-8af6-2c4e6d767348@default> <55383081.4010106@cs.ucla.edu> <87a8xzae0o.fsf@petton.fr> <55389500.8000404@cs.ucla.edu> <878udj9pfq.fsf@petton.fr> <5538C7EC.9010105@cs.ucla.edu> <877ft39juq.fsf@petton.fr> <55392C91.1010300@cs.ucla.edu> <84f4aea9-c3ef-44c5-ac06-0df72d223e8c@default> <55394A2E.8020002@cs.ucla.edu> <55397F23.1070804@cs.ucla.edu> <9630d98c-5a3d-410f-b927-8ab37d9a7d11@default> In-Reply-To: <9630d98c-5a3d-410f-b927-8ab37d9a7d11@default> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Drew Adams wrote: > So if someone wants to avoid your change then they have a choice: > fork Emacs or use an older Emacs version. Not at all. People will still be able to use and develop libraries that quote `like this' if they want, even if they are using a newer Emacs version. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 06:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: eggert@cs.ucla.edu, 20385@debbugs.gnu.org, dgutov@yandex.ru Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142985589510007 (code B ref 20385); Fri, 24 Apr 2015 06:12:01 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 06:11:35 +0000 Received: from localhost ([127.0.0.1]:38233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlWpq-0002bK-OL for submit@debbugs.gnu.org; Fri, 24 Apr 2015 02:11:35 -0400 Received: from mtaout24.012.net.il ([80.179.55.180]:52600) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlWpn-0002b5-BD for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 02:11:32 -0400 Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NNA00700RD3GB00@mtaout24.012.net.il> for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 09:02:36 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NNA005HORGCDE20@mtaout24.012.net.il>; Fri, 24 Apr 2015 09:02:36 +0300 (IDT) Date: Fri, 24 Apr 2015 09:11:28 +0300 From: Eli Zaretskii In-reply-to: <4b159230-cd7e-4cb9-a778-3ad7ed2ae301@default> X-012-Sender: halo1@inter.net.il Message-id: <83k2x2ys1b.fsf@gnu.org> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <55394E30.8040307@yandex.ru> <83oamezk77.fsf@gnu.org> <4b159230-cd7e-4cb9-a778-3ad7ed2ae301@default> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 23 Apr 2015 13:13:30 -0700 (PDT) > From: Drew Adams > Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu > > > > Who are those people, and why do they want that? > > > > Those who follow Markus Kuhn's advice, read here: > > http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html > > ...where the *only* argument given is, again, "it looked rather ugly". > That is the only "why do they want that" that we have heard, so far. You are missing the point: this paper wants those "rather ugly" characters to disappear from text content, and not everybody out there uses Emacs for editing and reading that. So an Emacs-only solution that just _shows_ the nice characters, leaving the underlying text with `..' is not what that paper wants, or preaches for. > And of course Mr. Kuhn is not specifically talking about an environment > such as Emacs, where you do more with text than just read it. He doesn't talk about Emacs at all. He's talking about the world at large. People who want to follow him want the old quoting characters to never be used at all for quoting purposes. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 06:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: nicolas@petton.fr, eggert@cs.ucla.edu, 20385@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142985594610103 (code B ref 20385); Fri, 24 Apr 2015 06:13:02 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 06:12:26 +0000 Received: from localhost ([127.0.0.1]:38237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlWqf-0002ct-Al for submit@debbugs.gnu.org; Fri, 24 Apr 2015 02:12:25 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:48547) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlWqc-0002cc-PA for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 02:12:23 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NNA00300RGDJF00@a-mtaout23.012.net.il> for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 09:12:16 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NNA003T4RWGG360@a-mtaout23.012.net.il>; Fri, 24 Apr 2015 09:12:16 +0300 (IDT) Date: Fri, 24 Apr 2015 09:12:19 +0300 From: Eli Zaretskii In-reply-to: <301114e4-e78f-4ae9-a3db-1db4028dd620@default> X-012-Sender: halo1@inter.net.il Message-id: <83iocmyrzw.fsf@gnu.org> References: <301114e4-e78f-4ae9-a3db-1db4028dd620@default> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 23 Apr 2015 13:15:46 -0700 (PDT) > From: Drew Adams > Cc: eggert@cs.ucla.edu, nicolas@petton.fr, 20385@debbugs.gnu.org > > > > > Info files in the Emacs distribution already use curved single > > > > quotes. > > > > > > I sure hope not. That's not the case in the Windows binary builds > > > I was able to download. But there is no Windows build for the > > > latest release. That will certainly be a step backward, if what > > > you say is true. > > > > This depends on the version of Texinfo used to generate the Info > > files. With the latest version, what Paul says is true. > > Yes, but I thought you were keeping an eye out, Eli ;-), and making > sure that at least the Windows Emacs builds used an older version. I have no such power on work done by others. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 06:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov Cc: 20385@debbugs.gnu.org, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142985798918157 (code B ref 20385); Fri, 24 Apr 2015 06:47:01 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 06:46:29 +0000 Received: from localhost ([127.0.0.1]:38262 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlXNd-0004iN-6T for submit@debbugs.gnu.org; Fri, 24 Apr 2015 02:46:29 -0400 Received: from mtaout27.012.net.il ([80.179.55.183]:56475) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlXNb-0004ab-4A for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 02:46:28 -0400 Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0NNA00400SQEFB00@mtaout27.012.net.il> for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 09:41:24 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NNA00OCNT8Z1E70@mtaout27.012.net.il>; Fri, 24 Apr 2015 09:41:24 +0300 (IDT) Date: Fri, 24 Apr 2015 09:46:24 +0300 From: Eli Zaretskii In-reply-to: <5539B2B2.7050709@yandex.ru> X-012-Sender: halo1@inter.net.il Message-id: <83a8xyyqf3.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <55394E30.8040307@yandex.ru> <83oamezk77.fsf@gnu.org> <5539B2B2.7050709@yandex.ru> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 24 Apr 2015 06:04:18 +0300 > From: Dmitry Gutov > CC: 20385@debbugs.gnu.org, eggert@cs.ucla.edu > > On 04/23/2015 11:03 PM, Eli Zaretskii wrote: > > >> Who are those people, and why do they want that? > > > > Those who follow Markus Kuhn's advice, read here: > > > > http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html > > I think that's typographical advice, and not necessarily applicable to > text editors. Nevertheless, many people want Texinfo, Emacs, and GNU in general to follow that advice. > It's pretty common to use slightly awkward (but easy to type and > unambiguous) markup in source code, and then convert it to something > nicer in generated documentation. I personally have no problem with the traditional `..' quoting style, I'm just trying to explain why IMO display-time tricks will not necessarily pacify at least some of those who want the ‘..’ style. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Artur Malabarba Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 13:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Cc: 20385@debbugs.gnu.org Reply-To: bruce.connor.am@gmail.com Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.142988301130806 (code B ref 20385); Fri, 24 Apr 2015 13:44:01 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 13:43:31 +0000 Received: from localhost ([127.0.0.1]:38452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YldtC-00080o-HU for submit@debbugs.gnu.org; Fri, 24 Apr 2015 09:43:30 -0400 Received: from mail-lb0-f182.google.com ([209.85.217.182]:36326) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yldt9-00080Z-CG for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 09:43:27 -0400 Received: by lbbqq2 with SMTP id qq2so36779402lbb.3 for <20385@debbugs.gnu.org>; Fri, 24 Apr 2015 06:43:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:cc:content-type; bh=Fgo1V5bxtY1uPDqs2lDXrqu8LsXmd8ZxR/L68oduvRQ=; b=ZY8hObHsLZ4rpU/5Q0nqJTwrwVUYwmDjWQZVPJVEzeejkeno8PMDncZr3jlfOKw72m f3MzHW5Lp6T+1w1mHY8l3/fJnl0wg48ni8hiv0qOI4JgT8eqwSkfGGEhDJ8NlbQh38E+ Y0HIZ/waVB5Unq++IxMC9qfJt+ipaz/sqD9oYIY0LVHrLC85V8ch993x6FoisGY4Md/c maKUvDf1qRHGNMWYHPAtjS8TM2G755koJ/gWKsauKD/tWbRbg66L7YSS2GsQQm6KEpPV fvi7Qy/wYATxyeq+0U9cbqu/m8DCFgsqKGsaAaJnBrNYKQWha1AzgW9yIkpAQpYsDFuK e2sg== MIME-Version: 1.0 X-Received: by 10.152.43.110 with SMTP id v14mr6977569lal.4.1429883001409; Fri, 24 Apr 2015 06:43:21 -0700 (PDT) Received: by 10.25.150.1 with HTTP; Fri, 24 Apr 2015 06:43:21 -0700 (PDT) Received: by 10.25.150.1 with HTTP; Fri, 24 Apr 2015 06:43:21 -0700 (PDT) In-Reply-To: <83a8xyyqf3.fsf@gnu.org> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <55394E30.8040307@yandex.ru> <83oamezk77.fsf@gnu.org> <5539B2B2.7050709@yandex.ru> <83a8xyyqf3.fsf@gnu.org> Date: Fri, 24 Apr 2015 14:43:21 +0100 X-Google-Sender-Auth: 8kdE4lkZwTAShqai2CRDspW9rbg Message-ID: From: Artur Malabarba Content-Type: multipart/alternative; boundary=001a11c351525e951f051478949a X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: In reply to those worried about how to search for these characters: If this gets implemented I can finish up the character folding search I was writing a few months ago. That means searching for regular quotes would also match curly quotes, just like searching for lowercase strings also matches upper-case ones (if you have that enabled). [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (bruce.connor.am[at]gmail.com) -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.217.182 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 1.2 MISSING_HEADERS Missing To: header 0.0 HTML_MESSAGE BODY: HTML included in message 1.4 MALFORMED_FREEMAIL Bad headers on message from free email service 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: In reply to those worried about how to search for these characters: If this gets implemented I can finish up the character folding search I was writing a few months ago. That means searching for regular quotes would also match curly quotes, just like searching for lowercase strings also matches upper-case ones (if you have that enabled). [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.217.182 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (bruce.connor.am[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.2 MISSING_HEADERS Missing To: header 0.0 HTML_MESSAGE BODY: HTML included in message 1.4 MALFORMED_FREEMAIL Bad headers on message from free email service 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid --001a11c351525e951f051478949a Content-Type: text/plain; charset=UTF-8 In reply to those worried about how to search for these characters: If this gets implemented I can finish up the character folding search I was writing a few months ago. That means searching for regular quotes would also match curly quotes, just like searching for lowercase strings also matches upper-case ones (if you have that enabled). Despite this, I'm completely neutral on whether this should be done or not. --001a11c351525e951f051478949a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

In reply to those worried about how to search for these char= acters:

If this gets implemented I can finish up the character foldi= ng search I was writing a few months ago. That means searching for regular = quotes would also match curly quotes, just like searching for lowercase str= ings also matches upper-case ones (if you have that enabled).

Despite this, I'm completely neutral on whether this sho= uld be done or not.

--001a11c351525e951f051478949a-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 14:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Drew Adams Cc: eggert@cs.ucla.edu, 20385@debbugs.gnu.org, dgutov@yandex.ru Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14298847101114 (code B ref 20385); Fri, 24 Apr 2015 14:12:02 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 14:11:50 +0000 Received: from localhost ([127.0.0.1]:38832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YleKY-0000Ho-R2 for submit@debbugs.gnu.org; Fri, 24 Apr 2015 10:11:50 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:30563) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YleKT-0000HS-IZ for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 10:11:45 -0400 Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t3OEBQqJ028165 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 24 Apr 2015 14:11:26 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t3OEBPKU024190 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 24 Apr 2015 14:11:26 GMT Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t3OEBPSl001551; Fri, 24 Apr 2015 14:11:25 GMT MIME-Version: 1.0 Message-ID: Date: Fri, 24 Apr 2015 07:11:24 -0700 (PDT) From: Drew Adams References: <<1429555155-4695-1-git-send-email-eggert@cs.ucla.edu>> <> <<5535974D.9050207@cs.ucla.edu>> <> <<5535C7F3.7020107@cs.ucla.edu>> <<83618p5y9w.fsf@gnu.org>> <> <<83vbgp49ve.fsf@gnu.org>> <> <<83pp6x45x5.fsf@gnu.org>> <<5536ACB3.9040707@yandex.ru>> <<83lhhk4phe.fsf@gnu.org>> <<55394E30.8040307@yandex.ru>> <<83oamezk77.fsf@gnu.org>> <<4b159230-cd7e-4cb9-a778-3ad7ed2ae301@default>> <<83k2x2ys1b.fsf@gnu.org>> In-Reply-To: <<83k2x2ys1b.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: userv0022.oracle.com [156.151.31.74] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > > Those who follow Markus Kuhn's advice, read here: > > > http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html > > > > ...where the *only* argument given is, again, "it looked rather > > ugly". That is the only "why do they want that" that we have > > heard, so far. >=20 > You are missing the point: this paper wants those "rather ugly" > characters to disappear from text content, and not everybody out > there uses Emacs for editing and reading that. No, I didn't miss the fact that the paper is not about Emacs etc. The only _reason given_ in that paper for dropping use of `...' quoting (anywhere, everywhere) is what I quoted: "it looked rather ugly". > So an Emacs-only solution that just _shows_ the nice characters, > leaving the underlying text with `..' is not what that paper > wants, or preaches for. Agreed, but that has nothing to do with what I said. He goes beyond wanting nice appearance, yes. He wants the content to reflect the appearance, yes. But the only reason he gave for any change was the "rather ugly" appearance. > > And of course Mr. Kuhn is not specifically talking about an > > environment such as Emacs, where you do more with text than > > just read it. >=20 > He doesn't talk about Emacs at all. You are repeating my point. He is not talking about Emacs or anything similar to Emacs. Except that he seems to be talking generally: As you say, "the old quoting characters" should "never be used" anywhere "for quoting purposes". That includes Emacs. But he does not speak to the uses of `...' in a context like Emacs. He wants all contexts to change, but he makes no argument that takes a context like Emacs into account. > He's talking about the world at large. People who want to > follow him want the old quoting characters to never be used > at all for quoting purposes. Maybe so. But the argument given is far too weak to apply to Emacs. That "rather ugly" reason might be sufficient for some people for some contexts. It is not a strong argument for a context like Emacs. In the context of Emacs we should hear something more in favor of such a change. So far, we haven't. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PROPOSED PATCH] Support quoting 'like this' in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Apr 2015 14:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: eggert@cs.ucla.edu, 20385@debbugs.gnu.org, dgutov@yandex.ru Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14298864453735 (code B ref 20385); Fri, 24 Apr 2015 14:41:02 +0000 Received: (at 20385) by debbugs.gnu.org; 24 Apr 2015 14:40:45 +0000 Received: from localhost ([127.0.0.1]:38845 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlemX-0000y7-55 for submit@debbugs.gnu.org; Fri, 24 Apr 2015 10:40:44 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:42554) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YlemQ-0000xn-Ey for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 10:40:38 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NNB00900EYJK600@mtaout25.012.net.il> for 20385@debbugs.gnu.org; Fri, 24 Apr 2015 17:36:11 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NNB006NEF8BMX30@mtaout25.012.net.il>; Fri, 24 Apr 2015 17:36:11 +0300 (IDT) Date: Fri, 24 Apr 2015 17:40:18 +0300 From: Eli Zaretskii In-reply-to: X-012-Sender: halo1@inter.net.il Message-id: <83383pzj1p.fsf@gnu.org> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5535974D.9050207@cs.ucla.edu> <5535C7F3.7020107@cs.ucla.edu> <83618p5y9w.fsf@gnu.org> <83vbgp49ve.fsf@gnu.org> <83pp6x45x5.fsf@gnu.org> <5536ACB3.9040707@yandex.ru> <83lhhk4phe.fsf@gnu.org> <55394E30.8040307@yandex.ru> <83oamezk77.fsf@gnu.org> <4b159230-cd7e-4cb9-a778-3ad7ed2ae301@default> <83k2x2ys1b.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 24 Apr 2015 07:11:24 -0700 (PDT) > From: Drew Adams > Cc: dgutov@yandex.ru, 20385@debbugs.gnu.org, eggert@cs.ucla.edu > > > > > Those who follow Markus Kuhn's advice, read here: > > > > http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html > > > > > > ...where the *only* argument given is, again, "it looked rather > > > ugly". That is the only "why do they want that" that we have > > > heard, so far. > > > > You are missing the point: this paper wants those "rather ugly" > > characters to disappear from text content, and not everybody out > > there uses Emacs for editing and reading that. > > No, I didn't miss the fact that the paper is not about Emacs etc. > The only _reason given_ in that paper for dropping use of `...' > quoting (anywhere, everywhere) is what I quoted: "it looked rather > ugly". What other reasons can there be for replacing one character with another? > > He doesn't talk about Emacs at all. > > You are repeating my point. He is not talking about Emacs or > anything similar to Emacs. Except that he seems to be talking > generally: As you say, "the old quoting characters" should > "never be used" anywhere "for quoting purposes". > > That includes Emacs. But he does not speak to the uses of > `...' in a context like Emacs. He wants all contexts to change, > but he makes no argument that takes a context like Emacs into > account. He doesn't care. Read his other articles, and you will see. > > He's talking about the world at large. People who want to > > follow him want the old quoting characters to never be used > > at all for quoting purposes. > > Maybe so. But the argument given is far too weak to apply to > Emacs. That "rather ugly" reason might be sufficient for some > people for some contexts. It is not a strong argument for a > context like Emacs. For you, but you are biased. From debbugs-submit-bounces@debbugs.gnu.org Wed May 13 03:06:24 2015 Received: (at control) by debbugs.gnu.org; 13 May 2015 07:06:24 +0000 Received: from localhost ([127.0.0.1]:42973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsQkJ-0000gp-PY for submit@debbugs.gnu.org; Wed, 13 May 2015 03:06:24 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:38397) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsQkH-0000gb-Gp for control@debbugs.gnu.org; Wed, 13 May 2015 03:06:21 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B3389A6000C for ; Wed, 13 May 2015 00:06:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oB8LE7IR0Iv2 for ; Wed, 13 May 2015 00:06:15 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 63C02A60005 for ; Wed, 13 May 2015 00:06:15 -0700 (PDT) Message-ID: <5552F7E7.2030303@cs.ucla.edu> Date: Wed, 13 May 2015 00:06:15 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: control@debbugs.gnu.org Subject: retitle 20385 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) retitle 20385 Support curved quotes in doc strings thanks From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> In-Reply-To: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 May 2015 07:32:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143150227510738 (code B ref 20385); Wed, 13 May 2015 07:32:03 +0000 Received: (at 20385) by debbugs.gnu.org; 13 May 2015 07:31:15 +0000 Received: from localhost ([127.0.0.1]:42985 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsR8J-0002n4-PF for submit@debbugs.gnu.org; Wed, 13 May 2015 03:31:15 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39056) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsR89-0002mL-GO for 20385@debbugs.gnu.org; Wed, 13 May 2015 03:31:05 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 125BAA6000C for <20385@debbugs.gnu.org>; Wed, 13 May 2015 00:30:55 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VVyUVqgkWA1X for <20385@debbugs.gnu.org>; Wed, 13 May 2015 00:30:52 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 4C99CA60005 for <20385@debbugs.gnu.org>; Wed, 13 May 2015 00:30:52 -0700 (PDT) Message-ID: <5552FDAC.4080004@cs.ucla.edu> Date: Wed, 13 May 2015 00:30:52 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040604080209030409090005" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------040604080209030409090005 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Stefan's comment "How does it interact with electric-pair-mode?" in prompted me to go back to the patch proposed for Bug#20385 and to get it to work with electric-pair-mode as well. The revised patch is attached. Most of the new revisions are to lisp/progmodes/elisp-mode.el. They also add support for C-M-i completion in the presence of curved quotes, and tweak some wording in the documentation. I haven't installed this as I am still mulling over similar revisions to the patch proposed for Bug#20545 (this is to make it easier to type curved quotes in doc strings). --------------040604080209030409090005 Content-Type: text/x-patch; name="0001-Support-curved-quotes-in-doc-strings.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-Support-curved-quotes-in-doc-strings.patch" >From eb392195ffdb108228c981f92ca8b5766afdcff9 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 13 May 2015 00:10:00 -0700 Subject: [PATCH] Support curved quotes in doc strings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on now-obsolete terminals where ` and ' were symmetric quotes, but nowadays curved quotes ‘like this’ look better. Support quoting the new way too. (Bug#20385) * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted ‘like-this’ as well as `like-this'. * etc/NEWS: Mention this. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add "‘" and "’" to electric-pair-text-pairs. (elisp--form-quoted-p): Also allow "‘" as a quoting char. (elisp-completion-at-point, elisp--preceding-sexp): Also treat "‘" and "’" as quoting chars. * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted ‘like-this’ as well as `like-this'. --- doc/lispref/tips.texi | 33 ++++++++++++++++++--------------- etc/NEWS | 4 ++++ lisp/cedet/srecode/texi.el | 2 +- lisp/emacs-lisp/checkdoc.el | 5 +++-- lisp/emacs-lisp/lisp-mode.el | 8 ++++---- lisp/finder.el | 2 +- lisp/gnus/gnus-art.el | 8 ++++---- lisp/help-mode.el | 7 ++++--- lisp/international/mule-cmds.el | 2 +- lisp/progmodes/elisp-mode.el | 24 +++++++++++++----------- lisp/wid-edit.el | 2 +- 11 files changed, 54 insertions(+), 43 deletions(-) diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index cc1f0e4..912d746 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -658,17 +658,20 @@ starting double-quote is not part of the string! @anchor{Docstring hyperlinks} @item When a documentation string refers to a Lisp symbol, write it as it -would be printed (which usually means in lower case), with a grave -accent @samp{`} before and apostrophe @samp{'} after it. There are +would be printed (which usually means in lower case), with surrounding +it with curved single quotes (@samp{‘} and @samp{’}). There are two exceptions: write @code{t} and @code{nil} without surrounding -punctuation. For example: @samp{CODE can be `lambda', nil, or t.} -(In this manual, we use a different convention, with single-quotes -around symbols.) +punctuation. For example: @samp{CODE can be ‘lambda’, nil, or t.} + +Documentation strings can also use an older single-quoting convention, +which quotes symbols with grave accent @samp{`} and apostrophe +@samp{'}: @samp{`like-this'} rather than @samp{‘like-this’}. This +older convention was designed for now-obsolete displays in which grave +accent and apostrophe were mirror images. @cindex hyperlinks in documentation strings Help mode automatically creates a hyperlink when a documentation string -uses a symbol name between grave accent and apostrophe, if the symbol -has either a +uses a single-quoted symbol name, if the symbol has either a function or a variable definition. You do not need to do anything special to make use of this feature. However, when a symbol has both a function definition and a variable definition, and you want to refer to @@ -678,7 +681,7 @@ immediately before the symbol name. (Case makes no difference in recognizing these indicator words.) For example, if you write @example -This function sets the variable `buffer-file-name'. +This function sets the variable ‘buffer-file-name’. @end example @noindent @@ -691,7 +694,7 @@ you can write the words @samp{symbol} or @samp{program} before the symbol name to prevent making any hyperlink. For example, @example -If the argument KIND-OF-RESULT is the symbol `list', +If the argument KIND-OF-RESULT is the symbol ‘list’, this function returns a list of all the objects that satisfy the criterion. @end example @@ -710,21 +713,21 @@ followed by the word @samp{face}. In that case, only the face documentation will be shown, even if the symbol is also defined as a variable or as a function. -To make a hyperlink to Info documentation, write the name of the Info -node (or anchor) between grave accent and apostrophe, preceded by +To make a hyperlink to Info documentation, write the single-quoted +name of the Info node (or anchor), preceded by @samp{info node}, @samp{Info node}, @samp{info anchor} or @samp{Info anchor}. The Info file name defaults to @samp{emacs}. For example, @smallexample -See Info node `Font Lock' and Info node `(elisp)Font Lock Basics'. +See Info node ‘Font Lock’ and Info node ‘(elisp)Font Lock Basics’. @end smallexample -Finally, to create a hyperlink to URLs, write the URL between grave -accent and apostrophe, preceded by @samp{URL}. For example, +Finally, to create a hyperlink to URLs, write the single-quoted URL, +preceded by @samp{URL}. For example, @smallexample The home page for the GNU project has more information (see URL -`http://www.gnu.org/'). +‘http://www.gnu.org/’). @end smallexample @item diff --git a/etc/NEWS b/etc/NEWS index 3f907db..817330f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -858,6 +858,10 @@ directory at point. *** New macros `thread-first' and `thread-last' allow threading a form as the first or last argument of subsequent forms. +** Documentation strings now support quoting with curved single quotes +‘like-this’ in addition to the old style with grave accent and +apostrophe `like-this'. The new style looks better on today's displays. + +++ ** Time-related changes: diff --git a/lisp/cedet/srecode/texi.el b/lisp/cedet/srecode/texi.el index 5c3f21c..5068b2a 100644 --- a/lisp/cedet/srecode/texi.el +++ b/lisp/cedet/srecode/texi.el @@ -253,7 +253,7 @@ that class. [ stuff ] => @code{[ stuff ]} Key => @kbd{Key} (key is C\\-h, M\\-h, SPC, RET, TAB and the like) ... => @dots{}" - (while (string-match "`\\([-a-zA-Z0-9<>.]+\\)'" string) + (while (string-match "[`‘]\\([-a-zA-Z0-9<>.]+\\)['’]" string) (let* ((vs (substring string (match-beginning 1) (match-end 1))) (v (intern-soft vs))) (setq string diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 777fed0..d6a4c7b 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -1554,7 +1554,8 @@ mouse-[0-3]\\)\\)\\>")) (save-excursion (let ((case-fold-search t) (ret nil) mb me) - (while (and (re-search-forward "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'" e t) + (while (and (re-search-forward + "[`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]" e t) (not ret)) (let* ((ms1 (match-string 1)) (sym (intern-soft ms1))) @@ -1824,7 +1825,7 @@ Replace with \"%s\"? " original replace) nil))) ;; t and nil case (save-excursion - (if (re-search-forward "\\(`\\(t\\|nil\\)'\\)" e t) + (if (re-search-forward "\\([`‘]\\(t\\|nil\\)['’]\\)" e t) (if (checkdoc-autofix-ask-replace (match-beginning 1) (match-end 1) (format "%s should not appear in quotes. Remove? " diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 108d5cc..476125d 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -405,8 +405,8 @@ ;; Words inside \\[] tend to be for `substitute-command-keys'. ("\\\\\\\\\\[\\(\\(?:\\sw\\|\\s_\\)+\\)\\]" (1 font-lock-constant-face prepend)) - ;; Words inside `' tend to be symbol names. - ("`\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" + ;; Words inside ‘’ and `' tend to be symbol names. + ("[`‘]\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)['’]" (1 font-lock-constant-face prepend)) ;; Constant values. ("\\_<:\\(?:\\sw\\|\\s_\\)+\\_>" 0 font-lock-builtin-face) @@ -454,8 +454,8 @@ ;; Erroneous structures. (,(concat "(" cl-errs-re "\\_>") (1 font-lock-warning-face)) - ;; Words inside `' tend to be symbol names. - ("`\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)'" + ;; Words inside ‘’ and `' tend to be symbol names. + ("[`‘]\\(\\(?:\\sw\\|\\s_\\)\\(?:\\sw\\|\\s_\\)+\\)['’]" (1 font-lock-constant-face prepend)) ;; Constant values. ("\\_<:\\(?:\\sw\\|\\s_\\)+\\_>" 0 font-lock-builtin-face) diff --git a/lisp/finder.el b/lisp/finder.el index 47fab3c..306f2e2 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -115,7 +115,7 @@ Each element has the form (KEYWORD . DESCRIPTION).") "Syntax table used while in `finder-mode'.") (defvar finder-font-lock-keywords - '(("`\\([^'`]+\\)'" 1 font-lock-constant-face prepend)) + '(("[`‘]\\([^'`‘’]+\\)['’]" 1 font-lock-constant-face prepend)) "Font-lock keywords for Finder mode.") (defvar finder-headmark nil diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 989a424..fea89a8 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -7827,11 +7827,11 @@ positives are possible." ("/\\([a-z][-a-z0-9]+\\.el\\)\\>[^.?]" ;; Exclude [.?] for URLs in gmane.emacs.cvs 1 (>= gnus-button-emacs-level 8) gnus-button-handle-library 1) - ("`\\([a-z][-a-z0-9]+\\.el\\)'" + ("[`‘]\\([a-z][-a-z0-9]+\\.el\\)['’]" 1 (>= gnus-button-emacs-level 8) gnus-button-handle-library 1) - ("`\\([a-z][a-z0-9]+-[a-z0-9]+-[-a-z0-9]*[a-z]\\|\\(gnus\\|message\\)-[-a-z]+\\)'" + ("[`‘]\\([a-z][a-z0-9]+-[a-z0-9]+-[-a-z0-9]*[a-z]\\|\\(gnus\\|message\\)-[-a-z]+\\)['’]" 0 (>= gnus-button-emacs-level 8) gnus-button-handle-symbol 1) - ("`\\([a-z][a-z0-9]+-[a-z]+\\)'" + ("[`‘]\\([a-z][a-z0-9]+-[a-z]+\\)['’]" 0 (>= gnus-button-emacs-level 9) gnus-button-handle-symbol 1) ("(setq[ \t\n]+\\([a-z][a-z0-9]+-[-a-z0-9]+\\)[ \t\n]+.+)" 1 (>= gnus-button-emacs-level 7) gnus-button-handle-describe-variable 1) @@ -7841,7 +7841,7 @@ positives are possible." 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-function 2) ("\\b\\(C-h\\|?\\)[ \t\n]+v[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET\\>" 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-variable 2) - ("`\\(\\(C-h\\|?\\)[ \t\n]+k[ \t\n]+\\([^']+\\)\\)'" + ("[`‘]\\(\\(C-h\\|?\\)[ \t\n]+k[ \t\n]+\\([^'’]+\\)\\)['’]" ;; Unlike the other regexps we really have to require quoting ;; here to determine where it ends. 1 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-key 3) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index d6679e9..cf8ec0c 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -322,7 +322,7 @@ Commands: "\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)" "[ \t\n]+\\)?" ;; Note starting with word-syntax character: - "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'")) + "[`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]")) "Regexp matching doc string references to symbols. The words preceding the quoted symbol can be used in doc strings to @@ -337,11 +337,12 @@ when help commands related to multilingual environment (e.g., (defconst help-xref-info-regexp - (purecopy "\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+`\\([^']+\\)'") + (purecopy + "\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+[`‘]\\([^'’]+\\)['’]") "Regexp matching doc string references to an Info node.") (defconst help-xref-url-regexp - (purecopy "\\<[Uu][Rr][Ll][ \t\n]+`\\([^']+\\)'") + (purecopy "\\<[Uu][Rr][Ll][ \t\n]+[`‘]\\([^'’]+\\)['’]") "Regexp matching doc string references to a URL.") ;;;###autoload diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index fd892aa..a49e293 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -177,7 +177,7 @@ "\\(charset\\)" "\\)\\s-+\\)?" ;; Note starting with word-syntax character: - "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'"))) + "[`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]"))) (defun coding-system-change-eol-conversion (coding-system eol-type) "Return a coding system which differs from CODING-SYSTEM in EOL conversion. diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index e06b920..b070029 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -231,7 +231,7 @@ Blank lines separate paragraphs. Semicolons start comments. (lisp-mode-variables nil nil 'elisp) (add-hook 'after-load-functions #'elisp--font-lock-flush-elisp-buffers) (setq-local electric-pair-text-pairs - (cons '(?\` . ?\') electric-pair-text-pairs)) + (append '((?\` . ?\') (?‘ . ?’)) electric-pair-text-pairs)) (setq imenu-case-fold-search nil) (add-function :before-until (local 'eldoc-documentation-function) #'elisp-eldoc-documentation-function) @@ -394,7 +394,7 @@ It can be quoted, or be inside a quoted form." ((or (eq (char-after) ?\[) (progn (skip-chars-backward " ") - (memq (char-before) '(?' ?`)))) + (memq (char-before) '(?' ?` ?‘)))) (setq res t)) ((eq (char-before) ?,) (setq nesting nil)))) @@ -459,7 +459,7 @@ It can be quoted, or be inside a quoted form." (beg (condition-case nil (save-excursion (backward-sexp 1) - (skip-syntax-forward "'") + (skip-chars-forward "`',‘") (point)) (scan-error pos))) (end @@ -470,7 +470,7 @@ It can be quoted, or be inside a quoted form." (save-excursion (goto-char beg) (forward-sexp 1) - (skip-chars-backward "'") + (skip-chars-backward "'’") (when (>= (point) pos) (point))) (scan-error pos)))) @@ -478,7 +478,7 @@ It can be quoted, or be inside a quoted form." (funpos (eq (char-before beg) ?\()) (quoted (elisp--form-quoted-p beg))) (when (and end (or (not (nth 8 (syntax-ppss))) - (eq (char-before beg) ?`))) + (memq (char-before beg) '(?` ?‘)))) (let ((table-etc (if (or (not funpos) quoted) ;; FIXME: We could look at the first element of the list and @@ -901,15 +901,17 @@ If CHAR is not a character, return nil." (defun elisp--preceding-sexp () "Return sexp before the point." (let ((opoint (point)) - ignore-quotes + (left-quote ?‘) expr) (save-excursion (with-syntax-table emacs-lisp-mode-syntax-table - ;; If this sexp appears to be enclosed in `...' + ;; If this sexp appears to be enclosed in `...' or ‘...’ ;; then ignore the surrounding quotes. - (setq ignore-quotes - (or (eq (following-char) ?\') - (eq (preceding-char) ?\'))) + (cond ((eq (preceding-char) ?’) + (progn (forward-char -1) (setq opoint (point)))) + ((or (eq (following-char) ?\') + (eq (preceding-char) ?\')) + (setq left-quote ?\`))) (forward-sexp -1) ;; If we were after `?\e' (or similar case), ;; use the whole thing, not just the `e'. @@ -933,7 +935,7 @@ If CHAR is not a character, return nil." (forward-sexp -1)))) (save-restriction - (if (and ignore-quotes (eq (following-char) ?`)) + (if (eq (following-char) left-quote) ;; vladimir@cs.ualberta.ca 30-Jul-1997: Skip ` in `variable' so ;; that the value is returned, not the name. (forward-char)) diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 0a95783..dac3b1e 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -2863,7 +2863,7 @@ The following properties have special meanings for this widget: :type 'boolean :group 'widget-documentation) -(defcustom widget-documentation-link-regexp "`\\([^\n`' ]+\\)'" +(defcustom widget-documentation-link-regexp "[`‘]\\([^\n `'‘’]+\\)['’]" "Regexp for matching potential links in documentation strings. The first group should be the link itself." :type 'regexp -- 2.1.0 --------------040604080209030409090005-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 May 2015 12:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143151937217162 (code B ref 20385); Wed, 13 May 2015 12:17:02 +0000 Received: (at 20385) by debbugs.gnu.org; 13 May 2015 12:16:12 +0000 Received: from localhost ([127.0.0.1]:43202 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsVa7-0004Sh-Nw for submit@debbugs.gnu.org; Wed, 13 May 2015 08:16:12 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:36912) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsVa5-0004SK-1F for 20385@debbugs.gnu.org; Wed, 13 May 2015 08:16:09 -0400 Received: by widdi4 with SMTP id di4so53197647wid.0 for <20385@debbugs.gnu.org>; Wed, 13 May 2015 05:16:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=1z4mTy97LYtxWa41DFFaFbmdNeiza/8vJPmpDJQCwSk=; b=Ud4wCzI3mSFghdi1x0AKWW5mGt5+3Y3+zbrb9JCfs9Ava+qUeTxYl09Z51MtLpltCA XaY8pAaFkNcVESr4fmfB1lnuzF/9zn03PBgjbj4bzIRPqRsJR6UpFk4LL76gUm8DzmTJ HmTeXn41wgm29V1mLm4w81cWZIUxNGKudOk9EZqbelJslBboShm3xdZcT6F5GOQy3Gy1 xp/jbmpVHEA/QfGdHL152yF2BjhBbtT2/KwvRy7DaP1XB1MjsF5rUTY+bAiilSTbpvXZ CFmuvWxP+Yfpx5Godtl/O9yH4CaXIDH7OVGHaeoGP7YU3mmcgazrqxpC4X/XzT5qMftt NaNg== X-Received: by 10.181.29.36 with SMTP id jt4mr37780998wid.21.1431519363203; Wed, 13 May 2015 05:16:03 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id u9sm32668559wjx.15.2015.05.13.05.16.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 May 2015 05:16:03 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> From: Dmitry Gutov Message-ID: <55534080.6010400@yandex.ru> Date: Wed, 13 May 2015 15:16:00 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <5552FDAC.4080004@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/13/2015 10:30 AM, Paul Eggert wrote: > I haven't installed this as I am still mulling over similar revisions to > the patch proposed for Bug#20545 (this is to make it easier to type > curved quotes in doc strings). FWIW, this looks bad in Thunderbird's attachment preview. It's most likely the email client's fault, but still. Why don't we want to use straight apostrophes in the source files again? And prettify them with font-lock? Or keep the current quoting, and likewise prettify it with font-lock? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 May 2015 15:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14315299953334 (code B ref 20385); Wed, 13 May 2015 15:14:01 +0000 Received: (at 20385) by debbugs.gnu.org; 13 May 2015 15:13:15 +0000 Received: from localhost ([127.0.0.1]:43916 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsYLS-0000rh-Kw for submit@debbugs.gnu.org; Wed, 13 May 2015 11:13:15 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:53780) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsYLL-0000r8-TA for 20385@debbugs.gnu.org; Wed, 13 May 2015 11:13:12 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 18451A60010; Wed, 13 May 2015 08:13:02 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pzEaKNrI5WbO; Wed, 13 May 2015 08:13:01 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 6CB99A6000D; Wed, 13 May 2015 08:13:01 -0700 (PDT) Message-ID: <555369FD.30701@cs.ucla.edu> Date: Wed, 13 May 2015 08:13:01 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> In-Reply-To: <55534080.6010400@yandex.ru> Content-Type: multipart/mixed; boundary="------------040105040709010501030504" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------040105040709010501030504 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Dmitry Gutov wrote: > Why don't we want to use straight apostrophes in the source files again ‘again’? Emacs has been using asymmetric quotes in doc strings forever. Or are you referring to the original Bug#20385 proposal of straight apostrophes? Stefan wasn't sure he liked that idea, and preferred curved quotes. I'd be happy either way, myself; the point is that those grave accents have got to go. > Or keep the current quoting, and likewise prettify it with font-lock? That's been proposed, but nobody has taken the time to do it. Plus, it'd be One More Thing; it's simpler if doc strings are plain strings and are not little subsets of Markdown or whatever. > this looks bad in Thunderbird's attachment preview It looks OK when I use Thunderbird 31.6.0 in Ubuntu 15.04 in an American English locale (first attachment). It's not a thing of beauty, admittedly, but it's legible enough. It looks much nicer under emacs -Q, which is what counts (second attachment). --------------040105040709010501030504 Content-Type: image/png; name="Screenshot from 2015-05-13 07:56:47.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Screenshot from 2015-05-13 07:56:47.png" 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 Fq5bKpkrAAAAAElFTkSuQmCC --------------040105040709010501030504 Content-Type: image/png; name="Screenshot from 2015-05-13 08:08:51.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Screenshot from 2015-05-13 08:08:51.png" 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 EQgEAqFO8v+vBGYTH4UWagAAAABJRU5ErkJggg== --------------040105040709010501030504-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 May 2015 22:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14315564118452 (code B ref 20385); Wed, 13 May 2015 22:34:02 +0000 Received: (at 20385) by debbugs.gnu.org; 13 May 2015 22:33:31 +0000 Received: from localhost ([127.0.0.1]:44180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsfDW-0002CC-38 for submit@debbugs.gnu.org; Wed, 13 May 2015 18:33:30 -0400 Received: from mail-wg0-f47.google.com ([74.125.82.47]:35097) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsfDU-0002Bq-Ea for 20385@debbugs.gnu.org; Wed, 13 May 2015 18:33:28 -0400 Received: by wgnd10 with SMTP id d10so55068018wgn.2 for <20385@debbugs.gnu.org>; Wed, 13 May 2015 15:33:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=poZLSrJ2XdFtqKJ/tfe8+Rhyfp23asxH8NjLssD8pPM=; b=OMNAML+IFrkPxu4VwbOX0mDVteXZ4WZtBlY22++EUwhygTBTHv5BaUg459RMObfv6i 5KI+6IMsfh7OhyNI+PlKUQ/Ixa1+e8BKzMl9ZBg12tORL5trCaVvcHUvPRBlxkkzplzx kfbV6k4Niux2TgRv+wQ2jkvlESlPxVai3S9JvuPix5QjK9kWy3ZY+wq42f19fGVF/6BG OUKRjyd7L+Wr1K4DimNzGMfOq9vQnmKO+eRcS79Gk+82v+y/d4GGTtvkTBAK4M7QK61S vk+AZrwWNpqH75rsncUWsowjFn8Oa+UdQofJaZxWPAujTBgNN0ICgNXJbO0V4mosxK/f sUYw== X-Received: by 10.180.84.168 with SMTP id a8mr2961689wiz.40.1431556402582; Wed, 13 May 2015 15:33:22 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id js3sm35073026wjc.5.2015.05.13.15.33.21 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 May 2015 15:33:22 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> From: Dmitry Gutov Message-ID: <5553D12F.7000809@yandex.ru> Date: Thu, 14 May 2015 01:33:19 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <555369FD.30701@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/13/2015 06:13 PM, Paul Eggert wrote: > ‘again’? Emacs has been using asymmetric quotes in doc strings > forever. I mean that the suggestion was voiced but never sufficiently addressed. > Or are you referring to the original Bug#20385 proposal of > straight apostrophes? Stefan wasn't sure he liked that idea, and > preferred curved quotes. I'd be happy either way, myself; the point is > that those grave accents have got to go. The suggestion to use font-lock was Stefan's as well. > That's been proposed, but nobody has taken the time to do it. Plus, > it'd be One More Thing; it's simpler if doc strings are plain strings > and are not little subsets of Markdown or whatever. That's trivial, if there's agreement to do it. I don't really understand the motivation for the original proposal (to switch away from `...'), so it's not clear to me if font-locking would satisfy it. Also, will going from `...' to '...' be beneficial enough, provided font-lock displays both as curly single quotes? The downsides to this are obvious (changing habits, re-training contributors). "Plain" unicode strings are not that plain, especially if it still takes 4 keypresses to type the character, and I also need to explain to contributors how to do that. > It looks OK when I use Thunderbird 31.6.0 in Ubuntu 15.04 in an American > English locale (first attachment). It's not a thing of beauty, > admittedly, but it's legible enough. It looks much nicer under emacs > -Q, which is what counts (second attachment). That's not a question of aesthetics. For some reason still unclear to me (I have English locale and language set everywhere I can see), it displays a group of cyrillic characters (тАШ) instead of the fancy quotes. Which will complicate reading small patches somewhat (ones I wouldn't open in an external program otherwise). From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 03:25:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14315738653380 (code B ref 20385); Thu, 14 May 2015 03:25:03 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 03:24:25 +0000 Received: from localhost ([127.0.0.1]:44231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ysjl3-0000sS-32 for submit@debbugs.gnu.org; Wed, 13 May 2015 23:24:25 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:55256) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ysjl0-0000rw-LG for 20385@debbugs.gnu.org; Wed, 13 May 2015 23:24:23 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id D37A439E8015; Wed, 13 May 2015 20:24:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LUFpg1w0ch+u; Wed, 13 May 2015 20:24:14 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id B443939E8014; Wed, 13 May 2015 20:24:14 -0700 (PDT) Message-ID: <5554155E.70000@cs.ucla.edu> Date: Wed, 13 May 2015 20:24:14 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> In-Reply-To: <5553D12F.7000809@yandex.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Dmitry Gutov wrote: > I don't really understand the > motivation for the original proposal (to switch away from `...'), so it's not > clear to me if font-locking would satisfy it. The main motivation is that English text shouldn't use grave accent to quote. It looked good decades ago but the underlying encodings changed and now it is klunky and offputting. (It's not as bad as the 1950s syntax 16HTHIS IS A STRING but that's a low bar....) Yes, it was a GNU tradition for many years, but other GNU packages (GCC, coreutils, etc.) have largely shifted away from it and it's time Emacs made it more convenient to use the more-standard convention of curved quotes. I haven't tried font locking. As I understand it, though, font locking would address the problem only in doc strings. For example, it wouldn't address Emacs's diagnostic messages, which also need to get fixed. In contrast, the sorts of solutions I'm proposing should help support curved quotes nearly everywhere. > "Plain" unicode strings are not that plain, especially if it still takes 4 > keypresses to type the character, and I also need to explain to contributors how > to do that. The patch proposed in Bug#20545 largely addresses this problem. Contributors can use the same keypresses as before. If your contributors type this: The value may be `buffered', `retained', or `non-retained'. the following characters are put into their doc string: The value may be ‘buffered’, ‘retained’, or ‘non-retained’. They won't have to do anything special to get this behavior; just use the revised Emacs on its own source code. > For some reason still unclear to me (I have English locale and language set > everywhere I can see), it displays a group of cyrillic characters (тАШ) instead > of the fancy quotes. Which will complicate reading small patches somewhat (ones > I wouldn't open in an external program otherwise). I reproduced that problem in Thunderbird by visiting "View > Character Encoding > Auto-Detect" and selecting "Russian". To fix it, I selected "(off)" instead of "Russian". From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: missing charset for non-ASCII text/x-patch MIME parts in Thunderbird Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 07:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: emacs-devel@gnu.org, Dmitry Gutov , Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143158746918049 (code B ref 20385); Thu, 14 May 2015 07:12:02 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 07:11:09 +0000 Received: from localhost ([127.0.0.1]:44291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsnIR-0004gu-9C for submit@debbugs.gnu.org; Thu, 14 May 2015 03:11:08 -0400 Received: from fely.am-1.org ([78.47.74.50]:44472) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsnIM-0004gE-NX for 20385@debbugs.gnu.org; Thu, 14 May 2015 03:11:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=gcr8JJYnp5OM7g7Lbbia9WlAGkdfPrsm7j8eZ2WIhyY=; b=eRkDXHTG23BMPkcKZ2fgoYSd07ebO09tlvtLvQameaVBjoKwEDe4fiOKgRC4GCKkudJjcycWI69Dz/vizE9k+FyS3lymja6vRcVsN0t6T2b2lqvBaVAbYclS/2y827gWUlTHNmfNluQ6iJw2IbkYHkqYWQ3h7lIwzvNdO90knKw=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YsnIK-0007bJ-9e; Thu, 14 May 2015 07:11:00 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YsnIC-0008OF-U0; Thu, 14 May 2015 14:10:53 +0700 From: Ivan Shmakov References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> Mail-Followup-To: emacs-devel@gnu.org, Dmitry Gutov , Paul Eggert Date: Thu, 14 May 2015 07:10:50 +0000 In-Reply-To: <5553D12F.7000809@yandex.ru> (Dmitry Gutov's message of "Thu, 14 May 2015 01:33:19 +0300") Message-ID: <87h9rfiqh1.fsf_-_@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >>>>> Dmitry Gutov writes: [Moving to emacs-devel@ as the issue at hand is not exactly related to #20385.] [=E2=80=A6] > For some reason still unclear to me (I have English locale and > language set everywhere I can see), it displays a group of cyrillic > characters (=D1=82=D0=90=D0=A8) instead of the fancy quotes. Which will= complicate > reading small patches somewhat (ones I wouldn't open in an external > program otherwise). As I=E2=80=99ve pointed earlier [1], Thunderbird (on the /sending/ side) for some reason chooses /not/ to file the =E2=80=98charset=E2=80=99 Content-Type: field for text/x-patch MIME parts. In the absence of the explicitly-stated encoding, the receiving side may resort to guessing, or (if the buffer model so allows, and Emacs=E2=80=99 /does/) may simply leave the content undecoded (as in: raw-text.) I presume this issue (the one of /not/ including the =E2=80=98charset=E2= =80=99) is specific to Thunderbird. As an example, please look at a fragment of the original patch thus MIMEd from Gnus. [1] news:878ud0k8qh.fsf_-_@violet.siamics.net http://debbugs.gnu.org/20499#108 --=20 FSF associate member #7257 http://am-1.org/~ivan/ =E2=80=A6 3013 B6A0= 230E 334A --=-=-= Content-Type: text/x-patch; charset=utf-8; name=0001-Support-curved-quotes-in-doc-strings.patch Content-Disposition: inline Content-Transfer-Encoding: quoted-printable >From eb392195ffdb108228c981f92ca8b5766afdcff9 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 13 May 2015 00:10:00 -0700 Subject: [PATCH] Support curved quotes in doc strings MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on now-obsolete terminals where ` and ' were symmetric quotes, but nowadays curved quotes =E2=80=98like this=E2=80=99 look better. Support quoting the new way too. (Bug#20385) * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted =E2=80=98like-this=E2=80=99 as well as `like-this'. * etc/NEWS: Mention this. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add "=E2=80=98" and "=E2=80=99" to electric-pair-text-pairs. (elisp--form-quoted-p): Also allow "=E2=80=98" as a quoting char. (elisp-completion-at-point, elisp--preceding-sexp): Also treat "=E2=80=98" and "=E2=80=99" as quoting chars. * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted =E2=80=98like-this=E2=80=99 as well as `like-this'. --- doc/lispref/tips.texi | 33 ++++++++++++++++++--------------- etc/NEWS | 4 ++++ lisp/cedet/srecode/texi.el | 2 +- lisp/emacs-lisp/checkdoc.el | 5 +++-- lisp/emacs-lisp/lisp-mode.el | 8 ++++---- lisp/finder.el | 2 +- lisp/gnus/gnus-art.el | 8 ++++---- lisp/help-mode.el | 7 ++++--- lisp/international/mule-cmds.el | 2 +- lisp/progmodes/elisp-mode.el | 24 +++++++++++++----------- lisp/wid-edit.el | 2 +- 11 files changed, 54 insertions(+), 43 deletions(-) diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index cc1f0e4..912d746 100644 =E2=80=A6 diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 0a95783..dac3b1e 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -2863,7 +2863,7 @@ The following properties have special meanings for th= is widget: :type 'boolean :group 'widget-documentation) =20 -(defcustom widget-documentation-link-regexp "`\\([^\n`' ]+\\)'" +(defcustom widget-documentation-link-regexp "[`=E2=80=98]\\([^\n `'=E2=80= =98=E2=80=99]+\\)['=E2=80=99]" "Regexp for matching potential links in documentation strings. The first group should be the link itself." :type 'regexp --=20 2.1.0 --=-=-=-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: Support curved quotes in doc strings Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 07:21:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org, Dmitry Gutov , Paul Eggert Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143158803119971 (code B ref 20385); Thu, 14 May 2015 07:21:03 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 07:20:31 +0000 Received: from localhost ([127.0.0.1]:44295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsnRW-0005C0-Eo for submit@debbugs.gnu.org; Thu, 14 May 2015 03:20:30 -0400 Received: from fely.am-1.org ([78.47.74.50]:44477) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsnRU-0005Bp-Qq for 20385@debbugs.gnu.org; Thu, 14 May 2015 03:20:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=YwPxCFLaOWvmguWt6JwQqwvxZQbvJb0JlpF9FYfr9Yc=; b=q7m+xTY5kzWrJLBa4xrQzEfpYBTvoO0rABZWWe2Go5XPFcUL+CwMpxO/nK3mVrZRRDXt+ntZ8zYGth+mDd9NwM/Tf8GOjmGQ3VcwDPsN8+m2GNKT+bu6OXQC2tlI+qbkU8PCtADLOgiSlDFw1CMquB7a7R0Iyy6jTStJFbMfMoU=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YsnRS-0007gv-Tu; Thu, 14 May 2015 07:20:27 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YsnRK-0008QI-AO; Thu, 14 May 2015 14:20:18 +0700 From: Ivan Shmakov References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> Mail-Followup-To: 20385@debbugs.gnu.org, Dmitry Gutov , Paul Eggert Date: Thu, 14 May 2015 07:20:17 +0000 In-Reply-To: <5553D12F.7000809@yandex.ru> (Dmitry Gutov's message of "Thu, 14 May 2015 01:33:19 +0300") Message-ID: <87d223iq1a.fsf_-_@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) >>>>> Dmitry Gutov writes: >>>>> On 05/13/2015 06:13 PM, Paul Eggert wrote: [=E2=80=A6] >> That's been proposed, but nobody has taken the time to do it. Plus, >> it'd be One More Thing; it's simpler if doc strings are plain >> strings and are not little subsets of Markdown or whatever. > That's trivial, if there's agreement to do it. I don't really > understand the motivation for the original proposal (to switch away > from `...'), so it's not clear to me if font-locking would satisfy > it. That=E2=80=99s simple: the ` character is not a quotation mark at all. In fact, it=E2=80=99s the spacing variant of the very same diacritical mark as is shown above e in =C3=A8. The rationale was that one can encode =E2=80=98=C3=A8=E2=80=99 as =E2=80= =98e\010`=E2=80=99 if there=E2=80=99s no =E2=80=9Cnative=E2=80=9D =C3=A8 character in the target (ASCII-based) e= ncoding. Just like one may encode =E2=80=9Cbold=E2=80=9D and =E2=80=9Cunderline=E2= =80=9D; consider, say: $ printf 'b\b_o\b_l\b_d\b_ u\bun\bnd\bde\ber\brl\bli\bin\bne\be\n' | less=20 The very same trick that up to this day is used by man(1). [=E2=80=A6] --=20 FSF associate member #7257 http://am-1.org/~ivan/ =E2=80=A6 3013 B6A0= 230E 334A From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: missing charset for non-ASCII text/x-patch MIME parts in Thunderbird Resent-From: "Stephen J. Turnbull" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 08:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Ivan Shmakov Cc: Paul Eggert , 20385@debbugs.gnu.org, Dmitry Gutov , emacs-devel@gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14315921301649 (code B ref 20385); Thu, 14 May 2015 08:29:01 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 08:28:50 +0000 Received: from localhost ([127.0.0.1]:44401 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsoVd-0000QT-PZ for submit@debbugs.gnu.org; Thu, 14 May 2015 04:28:50 -0400 Received: from shako.sk.tsukuba.ac.jp ([130.158.97.161]:33490) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsoVa-0000QC-G4 for 20385@debbugs.gnu.org; Thu, 14 May 2015 04:28:47 -0400 Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by shako.sk.tsukuba.ac.jp (Postfix) with ESMTPS id B2E4B1C3944; Thu, 14 May 2015 17:28:43 +0900 (JST) Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id 99D641A3398; Thu, 14 May 2015 17:28:43 +0900 (JST) From: "Stephen J. Turnbull" In-Reply-To: <87h9rfiqh1.fsf_-_@violet.siamics.net> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <87h9rfiqh1.fsf_-_@violet.siamics.net> X-Mailer: VM undefined under 21.5 (beta34) "kale" 83e5c3cd6be6 XEmacs Lucid (x86_64-unknown-linux) Date: Thu, 14 May 2015 17:28:43 +0900 Message-ID: <87k2wb1s1w.fsf@uwakimon.sk.tsukuba.ac.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Ivan Shmakov writes: > As I=E2=80=99ve pointed earlier [1], Thunderbird (on the /sending/ side) > for some reason chooses /not/ to file the =E2=80=98charset=E2=80=99 File a bug on Thunderbird, then. Absence of a charset parameter means charset=3DUS-ASCII, and Thunderbird should not be emitting US-ASCII MIME parts with non-ASCII characters present. Not even if the MTAs agree to use SMTP8. > In the absence of the explicitly-stated encoding, the > receiving side may resort to guessing, A conformant receiver SHOULD NOT guess, unless the user has given it explicit permission to do that (of course, then anything is OK). From RFC 2046: 4.1.2. Charset Parameter A critical parameter that may be specified in the Content-Type field for "text/plain" data is the character set. This is specified with a "charset" parameter, as in: Content-type: text/plain; charset=3Diso-8859-1 Unlike some other parameter values, the values of the charset parameter are NOT case sensitive. The default character set, which must be assumed in the absence of a charset parameter, is US-ASCII. Note that technically speaking the MUST in this section only applies to text/plain, and not to any other text content-type. However, given that the section says The specification for any future subtypes of "text" must specify whether or not they will also utilize a "charset" parameter, and may possibly restrict its values as well. For other subtypes of "text" than "text/plain", the semantics of the "charset" parameter should be defined to be identical to those specified here for "text/plain", i.e., the body consists entirely of characters in the given charset. Pretty clearly the intent is that the behavior of text/plain is to be the default for other text content-types, unless *explicitly* stated in the content-type spec. See also section 4.1.4. Unrecognized Subtypes Unrecognized subtypes of "text" should be treated as subtype "plain" as long as the MIME implementation knows how to handle the charset. This only makes sense when charset is unspecified if charset is assumed to be US-ASCII. > I presume this issue (the one of /not/ including the =E2=80=98charset= =E2=80=99) > is specific to Thunderbird. As an example, please look at a > fragment of the original patch thus MIMEd from Gnus. File a bug on Gnus, too. :-) Of course Emacs should do what its user asks, but the default should be to assume US-ASCII if there is no charset parameter, and to bitch (not guess) if non-ASCII octets are seen. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 10:50:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143160059416061 (code B ref 20385); Thu, 14 May 2015 10:50:03 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 10:49:54 +0000 Received: from localhost ([127.0.0.1]:44476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsqiA-0004Az-5k for submit@debbugs.gnu.org; Thu, 14 May 2015 06:49:54 -0400 Received: from mail-wg0-f51.google.com ([74.125.82.51]:36251) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ysqi7-0004Af-TE for 20385@debbugs.gnu.org; Thu, 14 May 2015 06:49:52 -0400 Received: by wgbhc8 with SMTP id hc8so37391812wgb.3 for <20385@debbugs.gnu.org>; Thu, 14 May 2015 03:49:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=Isv220cgUpajXXcTwETN2R+rLCdLjjAshs5jnd55ayY=; b=F+ynV8pdQVAyYbOx7Fe6RrFyezRdYtYEGjKJF92YI53b5st4DKRVS4aMYBIrltGKRX F6ukPbNhils0+qaCCg6ThZdVXMkdqPC0PJ79+KykON5ZSEvTBooEk5hvgVar+PmDwB7N Z+NCQj4JE8o7GYhmOmPS9uN8Kdh2UuHMJ7+2yR0frIiGBErl18Q2ORD510Pnz/n9QG9g 0ZfcbjwKgex4Yuo+dHCe7PdGtTHRScqVur/OwifkT0wqwfNuVdsJLAfusaMyXqBiEM15 OIHAQU7Kqs7hWgwewJWL8RBvQRtFLyhcrF7+n2DUGA7B2+BpUiUB+rTEYwP1/KwDR/HD DV/Q== X-Received: by 10.194.185.107 with SMTP id fb11mr6976378wjc.9.1431600586137; Thu, 14 May 2015 03:49:46 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id fm8sm12648180wib.9.2015.05.14.03.49.45 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 May 2015 03:49:45 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> From: Dmitry Gutov Message-ID: <55547DC6.3090509@yandex.ru> Date: Thu, 14 May 2015 13:49:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <5554155E.70000@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/14/2015 06:24 AM, Paul Eggert wrote: > The main motivation is that English text shouldn't use grave accent to > quote. It looked good decades ago but the underlying encodings changed > and now it is klunky and offputting. (It's not as bad as the 1950s > syntax 16HTHIS IS A STRING but that's a low bar....) Yes, it was a GNU > tradition for many years, but other GNU packages (GCC, coreutils, etc.) > have largely shifted away from it and it's time Emacs made it more > convenient to use the more-standard convention of curved quotes. The other GNU packages have transitioned to using the straight apostrophes though, didn't they? > I haven't tried font locking. As I understand it, though, font locking > would address the problem only in doc strings. For example, it wouldn't > address Emacs's diagnostic messages, which also need to get fixed. In > contrast, the sorts of solutions I'm proposing should help support > curved quotes nearly everywhere. The diagnostic messages can be treated differently (use fancy quotes, since we know this text will appear to the user as-is), or whatever code outputs diagnostics could convert the ASCII quotes to the fancy ones on-the-fly. > The patch proposed in Bug#20545 largely addresses this problem. > Contributors can use the same keypresses as before. If your > contributors type this: Ah, sorry, that's better. I was under the impression, from a related discussion, that we'll need to type something like `C-x 8 ''. > I reproduced that problem in Thunderbird by visiting "View > Character > Encoding > Auto-Detect" and selecting "Russian". To fix it, I selected > "(off)" instead of "Russian". Thank you. Indeed, that is it. As a Russian speaker, though, I'm not going to turn it off. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: Support curved quotes in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 14:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Ivan Shmakov Cc: eggert@cs.ucla.edu, 20385@debbugs.gnu.org, dgutov@yandex.ru Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143161533425791 (code B ref 20385); Thu, 14 May 2015 14:56:02 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 14:55:34 +0000 Received: from localhost ([127.0.0.1]:45151 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsuXt-0006ht-Di for submit@debbugs.gnu.org; Thu, 14 May 2015 10:55:33 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:44807) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YsuXq-0006hR-4F for 20385@debbugs.gnu.org; Thu, 14 May 2015 10:55:32 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NOC00000H2C8000@a-mtaout22.012.net.il> for 20385@debbugs.gnu.org; Thu, 14 May 2015 17:55:22 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOC00NU2HGA2Y80@a-mtaout22.012.net.il>; Thu, 14 May 2015 17:55:22 +0300 (IDT) Date: Thu, 14 May 2015 17:55:19 +0300 From: Eli Zaretskii In-reply-to: <87d223iq1a.fsf_-_@violet.siamics.net> X-012-Sender: halo1@inter.net.il Message-id: <831tijjjjc.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <87d223iq1a.fsf_-_@violet.siamics.net> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Ivan Shmakov > Date: Thu, 14 May 2015 07:20:17 +0000 > > the ` character is not a quotation mark at all. > In fact, it’s the spacing variant of the very same diacritical > mark as is shown above e in è. Any references for this? From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: Support curved quotes in doc strings Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 20:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org, eggert@cs.ucla.edu, dgutov@yandex.ru Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143163397114866 (code B ref 20385); Thu, 14 May 2015 20:07:01 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 20:06:11 +0000 Received: from localhost ([127.0.0.1]:45416 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YszOU-0003rh-R3 for submit@debbugs.gnu.org; Thu, 14 May 2015 16:06:11 -0400 Received: from fely.am-1.org ([78.47.74.50]:44551) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YszOS-0003rX-8p for 20385@debbugs.gnu.org; Thu, 14 May 2015 16:06:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=a3wuY5uO7/5hVShNe/lfE9SbX6ou6opvQahNl54JVac=; b=hKId8hsv31Jp6lR4+DBB5JAzgvRjmiRR8m1RNO78d2qcwiyOFXKEVz6pNJIaZE3JK8mQXRNJIM+/pIhuIavYHzgFSqjk6uS6f0uUNPrR6HgvtARGlLxan/VgW9wQJgfo8inQgLyM61+V8zx3X9WsYThefQrOggEsa6D6iMMCnv8=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YszOO-00069b-2U; Thu, 14 May 2015 20:06:04 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YszOE-0001uN-98; Fri, 15 May 2015 03:05:54 +0700 From: Ivan Shmakov References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <87d223iq1a.fsf_-_@violet.siamics.net> <831tijjjjc.fsf@gnu.org> Mail-Followup-To: 20385@debbugs.gnu.org, eggert@cs.ucla.edu, dgutov@yandex.ru Date: Thu, 14 May 2015 20:05:53 +0000 In-Reply-To: <831tijjjjc.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 May 2015 17:55:19 +0300") Message-ID: <878ucqj55q.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) >>>>> Eli Zaretskii writes: >>>>> From: Ivan Shmakov Date: Thu, 14 May 2015 07:20:17 +0000 >> The ` character is not a quotation mark at all. In fact, it=E2=80=99s = the >> spacing variant of the very same diacritical mark as is shown above >> e in =C3=A8. > Any references for this? You mean, other than UnicodeData.txt and its derivatives? To quote NamesList.txt, for instance: 0060 GRAVE ACCENT * this is a spacing character x (modifier letter grave accent - 02CB) x (combining grave accent - 0300) x (reversed prime - 2035) 00B4 ACUTE ACCENT * this is a spacing character x (modifier letter prime - 02B9) x (modifier letter acute accent - 02CA) x (combining acute accent - 0301) x (prime - 2032) # 0020 0301 0300 COMBINING GRAVE ACCENT =3D Greek varia x (grave accent - 0060) x (modifier letter grave accent - 02CB) 0301 COMBINING ACUTE ACCENT =3D stress mark =3D Greek oxia, tonos x (apostrophe - 0027) x (acute accent - 00B4) x (modifier letter prime - 02B9) x (modifier letter acute accent - 02CA) x (greek tonos - 0384) I presume that if U+0060 was /not/ be meant to be a spacing grave accent =E2=80=93 there would be some other code point for that purpose, just like there /is/ such a code point (U+00B4) for a spacing /acute/ accent. Given that standards are intended to document existing practice, I=E2=80=99d expect Unicode to note that =E2=80=98`=E2=80=99 may be used as= a quotation mark in legacy applications. I=E2=80=99d be surprised to find it /recommending/ such use, though. Also, while I have no copy of USAS X3.4-1968 at hand, RFC 20 (which, AIUI, was intended to be a copy of it itself) has the following note: 6/0 ` Grave Accent [2, 3] (Opening Single Quotation Mark) [=E2=80=A6] 2 The use of the symbols in 2/2, 2/7, 2/12, 5/14, /6/0, and 7/14 as diacritical marks is described in Appendix A, A5.2 Alas, the appendices are not included in RFC 20. Still, ECMA-6 (which also names 6/0 GRAVE ACCENT) reads: B.2.3 Composite graphic characters and repertoire ECMA-6 permits the construction of composite graphic characters by using the control characters BACKSPACE and CARRIAGE RETURN to image two or more graphic characters at the same character position. --=20 FSF associate member #7257 http://am-1.org/~ivan/ =E2=80=A6 3013 B6A0= 230E 334A From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: Support curved quotes in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 20:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Ivan Shmakov Cc: 20385@debbugs.gnu.org, dgutov@yandex.ru, eggert@cs.ucla.edu Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143163436915469 (code B ref 20385); Thu, 14 May 2015 20:13:01 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 20:12:49 +0000 Received: from localhost ([127.0.0.1]:45421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YszUv-00041R-9X for submit@debbugs.gnu.org; Thu, 14 May 2015 16:12:49 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:48895) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YszUs-00041A-Ro for 20385@debbugs.gnu.org; Thu, 14 May 2015 16:12:47 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NOC00800VT0YO00@mtaout25.012.net.il> for 20385@debbugs.gnu.org; Thu, 14 May 2015 23:08:27 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOC007RBVY30R20@mtaout25.012.net.il>; Thu, 14 May 2015 23:08:27 +0300 (IDT) Date: Thu, 14 May 2015 23:12:38 +0300 From: Eli Zaretskii In-reply-to: <878ucqj55q.fsf@violet.siamics.net> X-012-Sender: halo1@inter.net.il Message-id: <83egmij4uh.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <87d223iq1a.fsf_-_@violet.siamics.net> <831tijjjjc.fsf@gnu.org> <878ucqj55q.fsf@violet.siamics.net> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Ivan Shmakov > Date: Thu, 14 May 2015 20:05:53 +0000 > > >>>>> Eli Zaretskii writes: > >>>>> From: Ivan Shmakov Date: Thu, 14 May 2015 07:20:17 +0000 > > >> The ` character is not a quotation mark at all. In fact, it’s the > >> spacing variant of the very same diacritical mark as is shown above > >> e in è. > > > Any references for this? > > You mean, other than UnicodeData.txt and its derivatives? > To quote NamesList.txt, for instance: > > 0060 GRAVE ACCENT > * this is a spacing character > x (modifier letter grave accent - 02CB) > x (combining grave accent - 0300) > x (reversed prime - 2035) Where does it say that it can be combined with some base character as a diacritical? I see no decomposition in UnicodeData.txt that has 0060 as its part. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: Support curved quotes in doc strings Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 May 2015 20:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 20385@debbugs.gnu.org, eggert@cs.ucla.edu, dgutov@yandex.ru Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143163546617237 (code B ref 20385); Thu, 14 May 2015 20:32:02 +0000 Received: (at 20385) by debbugs.gnu.org; 14 May 2015 20:31:06 +0000 Received: from localhost ([127.0.0.1]:45429 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yszma-0004Tv-Mt for submit@debbugs.gnu.org; Thu, 14 May 2015 16:31:05 -0400 Received: from fely.am-1.org ([78.47.74.50]:44556) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YszmX-0004TV-CI for 20385@debbugs.gnu.org; Thu, 14 May 2015 16:31:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=ojF4ENbVXZ+3fybBGiHioa+zD5hkBNcoNFjwhIHzWAU=; b=C0RIkjrQbpYhZ3VH+mXZYIkNaiz+mo0oHzft58nUcobzCsoeWRPC6jhexAd1jrBWkhw8lZJcTyi/Hn2m455eib3pEJ50kAlgQWjwcgIb5Kth7OPdd4GIYxM42kJHZ54ZwpFLvqa64J17wh3ZlJm5116M1/yNSAHKNMpsOX3QziE=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YszmU-0006Lg-ES; Thu, 14 May 2015 20:30:58 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YszmK-00021x-Ns; Fri, 15 May 2015 03:30:48 +0700 From: Ivan Shmakov References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <87d223iq1a.fsf_-_@violet.siamics.net> <831tijjjjc.fsf@gnu.org> <878ucqj55q.fsf@violet.siamics.net> <83egmij4uh.fsf@gnu.org> Mail-Followup-To: 20385@debbugs.gnu.org, eggert@cs.ucla.edu, dgutov@yandex.ru Date: Thu, 14 May 2015 20:30:48 +0000 In-Reply-To: <83egmij4uh.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 May 2015 23:12:38 +0300") Message-ID: <874mnej407.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) >>>>> Eli Zaretskii writes: >>>>> From: Ivan Shmakov Date: Thu, 14 May 2015 20:05:53 +0000 >>>>> Eli Zaretskii writes: >>>>> From: Ivan Shmakov Date: Thu, 14 May 2015 07:20:17 +0000 >>>> The ` character is not a quotation mark at all. In fact, it=E2=80=99= s the >>>> spacing variant of the very same diacritical mark as is shown >>>> above e in =C3=A8. >>> Any references for this? >> You mean, other than UnicodeData.txt and its derivatives? To quote >> NamesList.txt, for instance: >> 0060 GRAVE ACCENT >> * this is a spacing character [=E2=80=A6] > Where does it say that it can be combined with some base character as > a diacritical? Where does it say that X can be combined with X to form a bold X? Yet man(1) (or, rather, Nroff) uses that since time immemorial, and it still works with less(1) at the least. Obviously, that part of ASCII didn=E2=80=99t propagate to Unicode. That still hardly is a reason to use U+0060 (or any other spacing accent character) as a substitute to a quotation mark. [=E2=80=A6] --=20 FSF associate member #7257 http://am-1.org/~ivan/ =E2=80=A6 3013 B6A0= 230E 334A From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 May 2015 07:50:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143167615115098 (code B ref 20385); Fri, 15 May 2015 07:50:03 +0000 Received: (at 20385) by debbugs.gnu.org; 15 May 2015 07:49:11 +0000 Received: from localhost ([127.0.0.1]:45725 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtAMo-0003vO-GM for submit@debbugs.gnu.org; Fri, 15 May 2015 03:49:10 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:55602) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtAMm-0003v5-By for 20385@debbugs.gnu.org; Fri, 15 May 2015 03:49:09 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4BEEF39E8016; Fri, 15 May 2015 00:49:02 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SurxCozn96W9; Fri, 15 May 2015 00:49:01 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 85D8839E8014; Fri, 15 May 2015 00:49:01 -0700 (PDT) Message-ID: <5555A4ED.8090500@cs.ucla.edu> Date: Fri, 15 May 2015 00:49:01 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> In-Reply-To: <55547DC6.3090509@yandex.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Dmitry Gutov wrote: > The other GNU packages have transitioned to using the straight apostrophes > though, didn't they? No, in locales where UTF-8 is allowed these packages typically use curved quotes. Here are GCC and coreutils in my (UTF-8) locale: $ echo @ >t.c $ gcc t.c t.c:1:1: error: stray ‘@’ in program $ mv xzzy sfasdf mv: cannot stat ‘xzzy’: No such file or directory The packages do use straight apostrophes in locales that lack curved quotes, but such locales are becoming less popular with time. > The diagnostic messages can be treated differently (use fancy quotes, since we > know this text will appear to the user as-is) Sure, but that's more complicated as it'd mean two ways to generate curved quotes. Another way to put it: we'd still need an easy way for users to type curved quotes in strings and once we have that (as per the Bug#20545 patch) then why not prefer the same easy way to type curved quotes in doc strings? > As a Russian speaker, though, I'm not going to > turn it off. Completely understandable. I suppose you can turn it off for the odd message where that's useful -- a bit awkward, but better than nothing. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 May 2015 17:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143171065215002 (code B ref 20385); Fri, 15 May 2015 17:25:02 +0000 Received: (at 20385) by debbugs.gnu.org; 15 May 2015 17:24:12 +0000 Received: from localhost ([127.0.0.1]:46452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtJLH-0003tt-H1 for submit@debbugs.gnu.org; Fri, 15 May 2015 13:24:11 -0400 Received: from mail-wi0-f177.google.com ([209.85.212.177]:36747) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtJLF-0003tg-9H for 20385@debbugs.gnu.org; Fri, 15 May 2015 13:24:09 -0400 Received: by wizk4 with SMTP id k4so295869351wiz.1 for <20385@debbugs.gnu.org>; Fri, 15 May 2015 10:24:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=S3Vll1sbUKHmjWXXhjjpRtgeL5lyKRGzQC9Ik/Piu1Q=; b=VeRoxvKoRRu+OjGtAJghiwWPu8ZPR8GQyvo8O/GJzH8OOFUNvFlpQdjrnsWd/Wp5o4 0OnTxMzir+AvxWVsxLfwtXepLiyU7ZabF0eZ3fqHr/Y+AT2LuLCn8yp+aZdAw63c7zmr o0YqAIvOMTp+Tz8gnk+aVEQwhA+NVHhIv9oDGpmPudsHfQR7QkisynHBF+xbn0qJoIOd O6funnpxOQtnmZeChIQcSTvmALd3W+x+Dtd9Gu8Op/m4rDOnjL5nK7O1uuCVO+LBWzJm Lvqyc/8BvsQiS//bBlkGx55HPItqNIUL9YyeTw/9GQgv3sGCMOz64Ov7QRidSlI9ovGl f26Q== X-Received: by 10.194.79.9 with SMTP id f9mr20606933wjx.20.1431710643678; Fri, 15 May 2015 10:24:03 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id k2sm3891456wix.4.2015.05.15.10.24.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 May 2015 10:24:03 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> From: Dmitry Gutov Message-ID: <55562BB0.2010605@yandex.ru> Date: Fri, 15 May 2015 20:24:00 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <5555A4ED.8090500@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/15/2015 10:49 AM, Paul Eggert wrote: > No, in locales where UTF-8 is allowed these packages typically use > curved quotes. Here are GCC and coreutils in my (UTF-8) locale: On the other hand, you'll be able to dynamically determine which quotes to use, depending e.g. on the locale. > $ echo @ >t.c > $ gcc t.c > t.c:1:1: error: stray ‘@’ in program It still doesn't have the fancy quotes directly in the source code: they seem to be generated dynamically, similarly to the suggestion above: https://github.com/gcc-mirror/gcc/blob/06fa1266fac43778983b3925ad048748297db38c/gcc/c-family/c-lex.c#L526 > Sure, but that's more complicated as it'd mean two ways to generate > curved quotes. Neither of those should be particularly hard to implement. > Another way to put it: we'd still need an easy way for > users to type curved quotes in strings and once we have that (as per the > Bug#20545 patch) I don't see why we'd still need that, but the patch seems generally useful either way. > then why not prefer the same easy way to type curved > quotes in doc strings? Two reasons. Neither of them is big, but the improvement from the transition to different quoting method is not huge either. - Using unicode for markup is a complication (e.g. with certain mail clients, but some other instances might come up). - I don't like having two standards for quoting. And if quotes are agumented with font-lock, all the existing Elisp out there will be displayed with modern quotes automatically. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 May 2015 18:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143171608723144 (code B ref 20385); Fri, 15 May 2015 18:55:02 +0000 Received: (at 20385) by debbugs.gnu.org; 15 May 2015 18:54:47 +0000 Received: from localhost ([127.0.0.1]:46461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtKkw-00061D-7f for submit@debbugs.gnu.org; Fri, 15 May 2015 14:54:46 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:51332) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtKkt-00060x-01 for 20385@debbugs.gnu.org; Fri, 15 May 2015 14:54:43 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id AF0DD39E8019; Fri, 15 May 2015 11:54:36 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3DrMxDMkiMAi; Fri, 15 May 2015 11:54:36 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 642E139E8014; Fri, 15 May 2015 11:54:36 -0700 (PDT) Message-ID: <555640E9.4060203@cs.ucla.edu> Date: Fri, 15 May 2015 11:54:33 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> In-Reply-To: <55562BB0.2010605@yandex.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On 05/15/2015 10:24 AM, Dmitry Gutov wrote: > It still doesn't have the fancy quotes directly in the source code: > they seem to be generated dynamically Yes, GCC uses "%< %>" in format strings to represent curved quotes, and Coreutils has a function 'quote (X)' that returns X surrounded by curved quotes. However, these are both awkward compared to just using quotes. GCC and Coreutils use these awkward constructs because they can't assume decent support for Unicode. Emacs doesn't have this constraint, so it can do better. > On the other hand, you'll be able to dynamically determine which > quotes to use, depending e.g. on the locale. That's an independent issue: it can be done no matter what quoting regime the source code uses. But it's probably not worth doing separately. Once we're worried about different locales, we'll need to translate the strings to Russian (or whatever) and at that point we can translate the quotes to use «Russian style». (And yes, Emacs should do this, just as GCC and Coreutils do -- but one thing at a time.) > Neither of those should be particularly hard to implement. I'm not that worried about the cost of implementation now. I'm worried about the long-term cost of having a quoting regime that requires documentation and explanation. It's simpler and easier to explain if the doc string looks the same in the UI as it does while you're editing it. For example, you can easily cut and paste from the UI into the doc string source when composing a new doc string, which is something that doesn't work well for either GCC or Coreutils. > - Using unicode for markup is a complication (e.g. with certain mail > clients, but some other instances might come up). It's a complication we already have, as we already use UTF-8 in a few doc strings. For example, the documentation for prettify-symbols-mode uses UTF-8 curved double-quotes. This usage will naturally grow in time. Yes, there will be some email glitches but they'll be easy to iron out as we gain experience. > - I don't like having two standards for quoting. Nor do I. This is a transition process, with the long-term goal of quoting via quotes rather than via grave accent and apostrophe. It's not practical to do this transition all at once, hence the transition period. But in the long run there'll be just one standard way to quote (even if Emacs supports the obsolete way indefinitely). From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 May 2015 19:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143171697124632 (code B ref 20385); Fri, 15 May 2015 19:10:03 +0000 Received: (at 20385) by debbugs.gnu.org; 15 May 2015 19:09:31 +0000 Received: from localhost ([127.0.0.1]:46473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtKzD-0006PE-1e for submit@debbugs.gnu.org; Fri, 15 May 2015 15:09:31 -0400 Received: from mail-wg0-f42.google.com ([74.125.82.42]:36505) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtKzB-0006P1-EH for 20385@debbugs.gnu.org; Fri, 15 May 2015 15:09:30 -0400 Received: by wgbhc8 with SMTP id hc8so90499784wgb.3 for <20385@debbugs.gnu.org>; Fri, 15 May 2015 12:09:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=6A7eoJrX8xs5mCSRxU0uGIv1fe1MzoFbMYtPUqGut7I=; b=r41CNNqhBwahDKbrrtWN30J1NpayVT3KXjjffeaz5BiSFP/upKu6cNk3tylPfWMGIA dN2hHyMO0v7fxaeZ7E2on1YeZjsV4FT91H0mafcWy3/HNlKMIFbcAOkbZ5omZC8FHVwh kgde68XkxL1Osc11LTWETgN4jsGv6KcW+p/ae0Y7KuqrcQwaThnHZS2Qu4FaGDWDWwXo HNsnHC1QLeUE4UqzBuuktA+OtF4xTscKBkrWAd58rFHg1YaiGzM7GpVHdY5DjQA+TUPb J5BOqiRgNMClet6uteXh0bLoKctuc8yVc8LONDVq81PZA1+GlVP3gsSyrVR0t6fgFe6b reGQ== X-Received: by 10.194.178.227 with SMTP id db3mr20819486wjc.82.1431716963904; Fri, 15 May 2015 12:09:23 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id i6sm3818428wjf.29.2015.05.15.12.09.23 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 May 2015 12:09:23 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> From: Dmitry Gutov Message-ID: <55564460.4020208@yandex.ru> Date: Fri, 15 May 2015 22:09:20 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <555640E9.4060203@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/15/2015 09:54 PM, Paul Eggert wrote: > That's an independent issue: it can be done no matter what quoting > regime the source code uses. Terrific. Then there's no need to worry too much about the diagnostic messages. > I'm not that worried about the cost of implementation now. I'm worried > about the long-term cost of having a quoting regime that requires > documentation and explanation. What's there to explain? Quoting will work as before, it'll only be displayed differently (and users could even opt out of that). > It's simpler and easier to explain if > the doc string looks the same in the UI as it does while you're editing > it. My "lambda"s have been rendered in Greek for quite a while. We even have a minor mode for things like this now. > For example, you can easily cut and paste from the UI into the doc > string source when composing a new doc string, which is something that > doesn't work well for either GCC or Coreutils. Why wouldn't that work in Emacs either way? The only place that seems like it'll have this problem is the Info buffers, but they have a lot of other markup that looks differently in the source anyway. >> - Using unicode for markup is a complication (e.g. with certain mail >> clients, but some other instances might come up). > > It's a complication we already have, as we already use UTF-8 in a few > doc strings. For example, the documentation for prettify-symbols-mode > uses UTF-8 curved double-quotes. Does it? I can't find that. But either way, allowing unicode in sources (why we do, obviously) and using unicode characters as ubiquitous markup are two very different things. > Nor do I. This is a transition process, with the long-term goal of > quoting via quotes rather than via grave accent and apostrophe. If we use rendering via font-lock, there will be no transition process. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 May 2015 21:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14317244504100 (code B ref 20385); Fri, 15 May 2015 21:15:02 +0000 Received: (at 20385) by debbugs.gnu.org; 15 May 2015 21:14:10 +0000 Received: from localhost ([127.0.0.1]:46522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtMvp-000143-EH for submit@debbugs.gnu.org; Fri, 15 May 2015 17:14:09 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57176) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtMvm-00013R-DJ for 20385@debbugs.gnu.org; Fri, 15 May 2015 17:14:07 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 05F50A60001; Fri, 15 May 2015 14:14:00 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eb8Hv6FgCfxd; Fri, 15 May 2015 14:13:59 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 3518639E8014; Fri, 15 May 2015 14:13:59 -0700 (PDT) Message-ID: <55566196.40105@cs.ucla.edu> Date: Fri, 15 May 2015 14:13:58 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> In-Reply-To: <55564460.4020208@yandex.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On 05/15/2015 12:09 PM, Dmitry Gutov wrote: > Then there's no need to worry too much about the diagnostic messages. > No, that doesn't follow. For example, suppose that the display supports curved quotes (the typical case) but we use some other format in the source code. Then, cutting from diagnostic output and pasting into the source code won't be intuitive and won't work without some Rube Goldberg conversion. In contrast, if we use curved quotes in the source, cutting and pasting will work naturally. It's true that here if the display doesn't support curved quotes (the atypical case) then cutting and pasting may not work -- but that's not a problem we need to worry about, since it's rare nowadays particularly among developers. > What's there to explain? Quoting will work as before, it'll only be > displayed differently (and users could even opt out of that). That will all require explanation, indefinitely. And this won't be as easy as one might think, particularly if opt-out is common. >> For example, you can easily cut and paste from the UI into the doc >> string source when composing a new doc string, which is something that >> doesn't work well for either GCC or Coreutils. > > Why wouldn't that work in Emacs either way? I suppose it might work in some cases (killing and yanking within a single GUI Emacs, say) but not in others (cutting from one Emacs running remotely under gnome-terminal and pasting into another in a different locale). The other cases are common enough that they will be a continuing hassle. > The only place that seems like it'll have this problem is the Info buffers This sounds backwards. Even now, one can cut curved quotes from an Info file and paste them into a .texi file and it will work, on a typical system with proper UTF-8 support (and assuming the latest Emacs on the master branch and Texinfo 5). (Just to be clear, I'm not proposing that we switch to this .texi style now -- it's not needed for proper use of grave accent and apostrophe in our documentation, and so it's a separate thing that can be deferred for many years.) >> For example, the documentation for prettify-symbols-mode >> uses UTF-8 curved double-quotes. > > Does it? I can't find that. Sorry, I meant tildify-space. (I mixed up functions: prettify-symbols-mode uses a different Unicode character, namely ≤.) > But either way, allowing unicode in sources (why we do, obviously) and > using unicode characters as ubiquitous markup are two very different > things. Yes, they are different in terms of degree. The existing minor uses of UTF-8 in doc strings are merely evidence that UTF-8 works in doc strings. Had these uses been there 20 years or go, or even 10, we would have had significant problems in practice; but nowadays, UTF-8 is not a problem. > If we use rendering via font-lock, there will be no transition process. I'm not so sure, given the cutting-and-pasting issues mentioned above. But even if you're right there would still be a tradeoff: would we want a trivial transition now to a complex and klunky approach long-term, or a nontrivial transition now to a simple and intuitive approach long-term? Let's strive for simplicity. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 May 2015 21:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14317264937443 (code B ref 20385); Fri, 15 May 2015 21:49:02 +0000 Received: (at 20385) by debbugs.gnu.org; 15 May 2015 21:48:13 +0000 Received: from localhost ([127.0.0.1]:46537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtNSm-0001vy-0i for submit@debbugs.gnu.org; Fri, 15 May 2015 17:48:13 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:36786) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtNSk-0001vj-AV for 20385@debbugs.gnu.org; Fri, 15 May 2015 17:48:11 -0400 Received: by wgbhc8 with SMTP id hc8so94599829wgb.3 for <20385@debbugs.gnu.org>; Fri, 15 May 2015 14:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=DEAYOhposCXISYlzSRpkNQ0P5ZGaq5ixt0L3PDm8Jqc=; b=FyMyDkW63Z9Hq44b9os8O59ex942JaitOrcm5MV43XaIDm5kzAZXACP2Yj94ey1W1U ad2yxOd+EADw+h8w+2Lbdo/WQV7VzlUFSwoSfbLbBQhlI3AS5x0FlUhMc811vBLIZ0fx cQDd2mLjf+v9of5Y5Q1XxG//5ZJ47gp40QbsqClkId2MAqjqmPnXQ4O+oIEPDA+zp/md /O6iL36l2UU2j5R0ePd7/yuTdjjqOkIQjWt8jlUha2tIxx9Nq/3GkLE6hjB8fLShbWHP UJcQpqELfNuWDz9gyr5qMQNx0swG3Z0loe08sjzGWDQ1JEkTjp8kawf0mf5nlNGi9jsN bfkw== X-Received: by 10.194.122.105 with SMTP id lr9mr22537643wjb.153.1431726484583; Fri, 15 May 2015 14:48:04 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id wv3sm4400428wjc.0.2015.05.15.14.48.03 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 May 2015 14:48:04 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> From: Dmitry Gutov Message-ID: <55566990.8020506@yandex.ru> Date: Sat, 16 May 2015 00:48:00 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <55566196.40105@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/16/2015 12:13 AM, Paul Eggert wrote: > In contrast, if we use curved quotes in the source, cutting and pasting > will work naturally. It's true that here if the display doesn't support > curved quotes (the atypical case) then cutting and pasting may not work > -- but that's not a problem we need to worry about, since it's rare > nowadays particularly among developers. What if the locale mandates the use of some other kind of quotes? Then copying and pasting won't work anyway. In any case, I've never had a need to copy a diagnostic message with the intention to paste it into the source code. Web search or bug report? Sure, but never that. > That will all require explanation, indefinitely. And this won't be as > easy as one might think, particularly if opt-out is common. I've never noticed turning lambda into λ while rendering to be a significant problem among users, as long as copy and paste works. > I suppose it might work in some cases (killing and yanking within a > single GUI Emacs, say) but not in others (cutting from one Emacs running > remotely under gnome-terminal and pasting into another in a different > locale). The other cases are common enough that they will be a > continuing hassle. Again, if there are different locales involved, and you intend to honor their different quotings, copying and pasting won't work anyway. Actually, it's a decent argument against using *any particular locale's* quoting, in order not to confuse casual contributors, who'd have to know that *these* fancy quotes will be localized, but *those* - won't. > This sounds backwards. Even now, one can cut curved quotes from an Info > file and paste them into a .texi file and it will work, on a typical > system with proper UTF-8 support (and assuming the latest Emacs on the > master branch and Texinfo 5). Maybe you could paste quotes, but not any other kind of formatting. So nobody will be too surprised that you can't, in general, paste quotes too. > Sorry, I meant tildify-space. (I mixed up functions: > prettify-symbols-mode uses a different Unicode character, namely ≤.) Yes, it does - as a part of content, not markup. And you can notice that if we delimited docstrings with curly quotes instead of the straight quotation marks, tildify-space wouldn't have been able to use them exactly this way inside the docstring. > Had these uses been there 20 years or go, or even 10, we would > have had significant problems in practice; but nowadays, UTF-8 is not a > problem. I know of no serious markup language that utilizes unicode, even now. > I'm not so sure, given the cutting-and-pasting issues mentioned above. > But even if you're right there would still be a tradeoff: would we want > a trivial transition now to a complex and klunky approach long-term, or > a nontrivial transition now to a simple and intuitive approach > long-term? Let's strive for simplicity. Guess I don't see it as clunky. Using ASCII in markup and rendering in to something fancier later is fairly common approach. And the benefits are marginal either way. We have bigger difficulties (how to delimit code blocks in docstrings and comments, for instance), but here we are discussing changing something that has been working fine for years. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 May 2015 23:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143173395719780 (code B ref 20385); Fri, 15 May 2015 23:53:02 +0000 Received: (at 20385) by debbugs.gnu.org; 15 May 2015 23:52:37 +0000 Received: from localhost ([127.0.0.1]:46580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtPPA-00058x-3w for submit@debbugs.gnu.org; Fri, 15 May 2015 19:52:36 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:35307) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtPP7-00058j-Gi for 20385@debbugs.gnu.org; Fri, 15 May 2015 19:52:34 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4A76C39E8019; Fri, 15 May 2015 16:52:27 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Voa1d3To5WjO; Fri, 15 May 2015 16:52:26 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 96D3C39E8014; Fri, 15 May 2015 16:52:26 -0700 (PDT) Message-ID: <555686B7.60808@cs.ucla.edu> Date: Fri, 15 May 2015 16:52:23 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> In-Reply-To: <55566990.8020506@yandex.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Dmitry Gutov wrote: > What if the locale mandates the use of some other kind of quotes? Then copying > and pasting won't work anyway. Yes it will. It'll work fine. If a documentation string is in (say) Hungarian, a user will be able to paste quoted Hungarian text into it, and the text will carry its Hungarian quotation marks along. It'll be just like documentation in English and with English quotes. > I've never had a need to copy a diagnostic message with the > intention to paste it into the source code. Shrug. I've done it. And vice versa. And there are other examples. The point is that it's simpler and nicer if cutting and pasting Just Works. > Actually, it's a decent argument against using *any particular locale's* > quoting, in order not to confuse casual contributors, who'd have to know that > *these* fancy quotes will be localized, but *those* - won't. No, there's normally no need to localize those curved quotes, not if the text is English and uses English quoting. The only time one would need to localize is for obsolete displays lacking curved quotes, which casual contributors are unlikely to be using nowadays anyway. > Maybe you could paste quotes, but not any other kind of formatting. First, that's not true: many other kinds of formatting (though obviously not all) can also be cut and pasted from info into .texi files. Second, even if it were true it'd be OK. One improvement at a time. Quotes are such a common kind of formatting that simplifying their cutting and pasting is worth doing even if we can't simplify all forms of formatting. > And you can notice that if we delimited docstrings with curly quotes instead of > the straight quotation marks, tildify-space wouldn't have been able to use them > exactly this way inside the docstring. That's not a significant problem, as it applies to any convention that uses only paired quotes. For example, the current documentation for skeleton-pair-insert-maybe says "These are (), [], {}, <> and `' ...", and the reader needs to infer that those instances of ` and ' are not quotes, but are characters. This sort of thing happens every now and then in documentation, and it's no big deal. > I know of no serious markup language that utilizes unicode, even now. Texinfo does. Unicode curved quotes are part of the markup. They affect spacing among other things. > I don't see it as clunky That's the main point of disagreement here. Although Emacs old-timers are used to quoting `like this', to newbies it's a weird and offputting relic from ancient history. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 00:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143173491721371 (code B ref 20385); Sat, 16 May 2015 00:09:02 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 00:08:37 +0000 Received: from localhost ([127.0.0.1]:46589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtPee-0005Yb-6t for submit@debbugs.gnu.org; Fri, 15 May 2015 20:08:36 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:34795) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtPec-0005YP-8G for 20385@debbugs.gnu.org; Fri, 15 May 2015 20:08:34 -0400 Received: by wguv19 with SMTP id v19so68769862wgu.1 for <20385@debbugs.gnu.org>; Fri, 15 May 2015 17:08:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=EE9TZGRERCSsOVGb3aunesBdY9SdB0xe03WxgeTBkPQ=; b=nIy/2BFDt0QCI7HG8wEOtUgw+K+fwV1TY5ajoCTCP643yfoqKnfWUb5oHi+x3wsQth YUwJl4qwt5UXeax0eBWwIxrjushjb5OM7QQlXPrENlkWrBMCT6jtkxHk0ujGsUH3kf92 3BhRd1SZiAwJI3UnMZqBsyQAd/ZZmJw3XpfVcHadJexZpYYHoae/AcnjOLsVG5M/NqbK FseMqXb3ufJFXCV3oVnLUKeM7S98y7U6Sn6ZWGLT9s9i3eHspwg50mRf4HnPx1C3HAJ+ BJ3HuLODiUaTI76QuBh0G7ScPWEsI5+n8YtFkiMZyZ6Jo3DieXsm4LENplD2twm07qwE wTQw== X-Received: by 10.194.82.167 with SMTP id j7mr23152097wjy.123.1431734908672; Fri, 15 May 2015 17:08:28 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id df1sm392385wib.12.2015.05.15.17.08.27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 May 2015 17:08:28 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> From: Dmitry Gutov Message-ID: <55568A79.4060604@yandex.ru> Date: Sat, 16 May 2015 03:08:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <555686B7.60808@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/16/2015 02:52 AM, Paul Eggert wrote: > Yes it will. It'll work fine. If a documentation string is in (say) > Hungarian, a user will be able to paste quoted Hungarian text into it, > and the text will carry its Hungarian quotation marks along. It'll be > just like documentation in English and with English quotes. I see. But will elisp-completion-at-point detect that point is inside the Hungarian quotes now? Will we have to enumerate every possible kind of quote in its implementation? > The point is that it's simpler and nicer if cutting and pasting Just Works. Ok, we can say it's the main benefit. I think it's not of the utmost importance, though. > No, there's normally no need to localize those curved quotes, not if the > text is English and uses English quoting. The only time one would need > to localize is for obsolete displays lacking curved quotes, which casual > contributors are unlikely to be using nowadays anyway. And that localization code will have to deal with every kind of quote, then? > Texinfo does. Unicode curved quotes are part of the markup. They > affect spacing among other things. Okay, that's... weird. Any other examples, such as ones that newcomers to Emacs might be familiar with? >> I don't see it as clunky > > That's the main point of disagreement here. Although Emacs old-timers > are used to quoting `like this', to newbies it's a weird and offputting > relic from ancient history. That's neither here nor there. Like you said, they'd still be typing ` and ', but in your case those will be converted into actual quote characters on the fly, and in mine, only rendered as such. The end result, visually, would be the same. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 00:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143173511321709 (code B ref 20385); Sat, 16 May 2015 00:12:02 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 00:11:53 +0000 Received: from localhost ([127.0.0.1]:46593 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtPho-0005e4-OX for submit@debbugs.gnu.org; Fri, 15 May 2015 20:11:53 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:36752) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtPhm-0005do-Pe for 20385@debbugs.gnu.org; Fri, 15 May 2015 20:11:51 -0400 Received: by wizk4 with SMTP id k4so8627485wiz.1 for <20385@debbugs.gnu.org>; Fri, 15 May 2015 17:11:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=R/Pst3vGjepGPoclid+re1/qbXb18E/+PGrrTKmYc24=; b=p5P1B9HoL0biCbtt8zBWoTtu9Ne72COSD4H8hvWwTeQkatOMpm/qHJVz9JXRv6ldJs p2I+q/438TSbhxCzDKwdMJR2NgLTalCaMnV21GRHrA7AhWSC5ZbNlI5LNj68f6lr/hR8 lIQAqGQl/Ko1z/LxFCbLdRtZnY+sr8HongZJmLi4OaPOjZ7ylKpGbBZOsf+d2+7K8gI8 IYVCVkTrhVTUNr5vr9TF0b5hMx9P7Ai/JnEpCCIHP1zFqCx/phy3ofSGRU0GIkMGTCke LBrai+NvAKkQJv0N1mm+PUTJJOh+jDeFcjMnEfFIYZanSCa8YXZzj6+fl/XgJfesg4Tc 6oLA== X-Received: by 10.194.159.99 with SMTP id xb3mr23063829wjb.57.1431735105379; Fri, 15 May 2015 17:11:45 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id l1sm378466wiy.20.2015.05.15.17.11.44 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 May 2015 17:11:45 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> From: Dmitry Gutov Message-ID: <55568B3E.5040704@yandex.ru> Date: Sat, 16 May 2015 03:11:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <555686B7.60808@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/16/2015 02:52 AM, Paul Eggert wrote: > Although Emacs old-timers > are used to quoting `like this', to newbies it's a weird and offputting > relic from ancient history. And as long as we're discussing newbies, how about switching to Markdown-style quoting, then? Two backticks for inline code reference, a pair of triple backticks for a code block. That's definitely going to be familiar. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 01:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14317394141907 (code B ref 20385); Sat, 16 May 2015 01:24:02 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 01:23:34 +0000 Received: from localhost ([127.0.0.1]:46641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtQpB-0000Uf-8h for submit@debbugs.gnu.org; Fri, 15 May 2015 21:23:33 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:30167) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtQp8-0000UQ-QK for 20385@debbugs.gnu.org; Fri, 15 May 2015 21:23:31 -0400 Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t4G1NHW8027568 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 16 May 2015 01:23:18 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t4G1NHM7023516 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sat, 16 May 2015 01:23:17 GMT Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t4G1NGh3019085; Sat, 16 May 2015 01:23:17 GMT MIME-Version: 1.0 Message-ID: Date: Fri, 15 May 2015 18:23:16 -0700 (PDT) From: Drew Adams References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> In-Reply-To: <555686B7.60808@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Our Esteemed Spokesman for Generation Z spake thus:=20 > Although Emacs old-timers are used to quoting `like this', to > newbies it's a weird and offputting relic from ancient history. Ooooo. Please show your research that led to that conclusion. Just how did you measure the feelings and reactions of our newbie population? Did you poll newbie Emacs users, for example? What were the results? How did you analyze them? How did you compare the feelings of weirdness and offputtingness our newbies expressed about `...' with those they expressed about other aspects of Emacs, and about Emacs in general? How does their reaction to `...' compare with their reaction to `M-x', `C-u C-x =3D', Lisp, and all the rest? Where's the beef? - Decrepit soixante-huitards would like to know. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 01:49:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14317409434513 (code B ref 20385); Sat, 16 May 2015 01:49:04 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 01:49:03 +0000 Received: from localhost ([127.0.0.1]:46649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtRDq-0001Af-Lg for submit@debbugs.gnu.org; Fri, 15 May 2015 21:49:03 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39582) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtRDo-0001AJ-NL for 20385@debbugs.gnu.org; Fri, 15 May 2015 21:49:01 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 5ABBCA60002; Fri, 15 May 2015 18:48:54 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id be+sLj1Z-dJL; Fri, 15 May 2015 18:48:54 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id EF24CA60001; Fri, 15 May 2015 18:48:53 -0700 (PDT) Message-ID: <5556A205.3040503@cs.ucla.edu> Date: Fri, 15 May 2015 18:48:53 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> In-Reply-To: <55568B3E.5040704@yandex.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Dmitry Gutov wrote: > how about switching to Markdown-style quoting, then? > That's definitely going to be familiar. Familiar to those who know Markdown, yes. However, English quoting is more familiar to English writers, and far more people know English than know both English and Markdown. > will elisp-completion-at-point detect that point is inside the Hungarian quotes It could easily do so, in a Hungarian locale. The characters are programmable. > that's... weird. It's not weird. It's ordinary English markup. It's "weird" only to Emacs and TeX users accustomed to oddball quoting `like this' that exists mostly because of a historical accident. > The end result, visually, would be the same. We don't care only about what appears in Emacs after one types C-h. Emacs is more than just a documentation viewer; it's a tool for editing documentation, and to those of us who write documentation (or who view Elisp source code, etc., etc.) what we see on the screen when we're editing is important. (Otherwise we'd probably be editing SGML by hand, eeeyyyucckkk.) From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 06:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams , Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143175726731092 (code B ref 20385); Sat, 16 May 2015 06:22:01 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 06:21:07 +0000 Received: from localhost ([127.0.0.1]:46738 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtVT8-00085P-0U for submit@debbugs.gnu.org; Sat, 16 May 2015 02:21:06 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:46897) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtVT4-00084i-4j for 20385@debbugs.gnu.org; Sat, 16 May 2015 02:21:03 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B060EA60004; Fri, 15 May 2015 23:20:55 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QNXSZ29Noha9; Fri, 15 May 2015 23:20:55 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 045E8A60002; Fri, 15 May 2015 23:20:55 -0700 (PDT) Message-ID: <5556E1C6.1010204@cs.ucla.edu> Date: Fri, 15 May 2015 23:20:54 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Drew Adams wrote: > How does their reaction to `...' compare with > their reaction to `M-x', `C-u C-x =', Lisp, and all the rest? They think Lisp is pretty cool, that control-meta-whatever is a pain, and that quoting `like this' is something a hidebound greybeard would do. Although I don't have any formal research, I do have some experience. Over the past decade my assistants and I have introduced Emacs to an average of about one new user per day. Most were age 20 or less. Many stop using Emacs soon after they learn it. I'd like to help improve the retention rate. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 07:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 20385@debbugs.gnu.org, drew.adams@oracle.com, dgutov@yandex.ru Reply-To: Eli Zaretskii Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.14317617936204 (code B ref 20385); Sat, 16 May 2015 07:37:02 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 07:36:33 +0000 Received: from localhost ([127.0.0.1]:46759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtWe8-0001bz-Hr for submit@debbugs.gnu.org; Sat, 16 May 2015 03:36:33 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:42893) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtWe5-0001bg-5w for 20385@debbugs.gnu.org; Sat, 16 May 2015 03:36:30 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NOF00G00M18UK00@a-mtaout22.012.net.il> for 20385@debbugs.gnu.org; Sat, 16 May 2015 10:36:22 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOF00G5FMGMJRA0@a-mtaout22.012.net.il>; Sat, 16 May 2015 10:36:22 +0300 (IDT) Date: Sat, 16 May 2015 10:36:23 +0300 From: Eli Zaretskii In-reply-to: <5556E1C6.1010204@cs.ucla.edu> X-012-Sender: halo1@inter.net.il Message-id: <837fs9geiw.fsf@gnu.org> References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <5556E1C6.1010204@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 15 May 2015 23:20:54 -0700 > From: Paul Eggert > > Although I don't have any formal research, I do have some experience. Over the > past decade my assistants and I have introduced Emacs to an average of about one > new user per day. Most were age 20 or less. Many stop using Emacs soon after > they learn it. I'd like to help improve the retention rate. I'm not an "old-timer" who objects what you are trying to do, but do you _really_ think, after all those years, that changing the quoting style will affect the retention rate in any way? Let's face it: we make this change (and others like it) because we think it's right, not because we believe someone will like Emacs more who didn't before. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 08:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143176487511480 (code B ref 20385); Sat, 16 May 2015 08:28:02 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 08:27:55 +0000 Received: from localhost ([127.0.0.1]:46773 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtXRp-0002z4-Tc for submit@debbugs.gnu.org; Sat, 16 May 2015 04:27:54 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:36109) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtXRn-0002yq-Ss for 20385@debbugs.gnu.org; Sat, 16 May 2015 04:27:52 -0400 Received: by wizk4 with SMTP id k4so17909542wiz.1 for <20385@debbugs.gnu.org>; Sat, 16 May 2015 01:27:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=iqDUcWyeSN1ubvjSJx1oF1fJoq6aZQQdt0gaWVO3Itw=; b=ujL3f4Z6LXsq6DPSjWE/pnZeXXPAHwfh4xCtpNX4Vn0iXq21o+oIiSP6ib/fjaTMNi A0N51+5R1rK3iOgqbq2qBZ/vIUP30U2DAkAQsXhPPPVZnmiRP/DTiW6um/pVYU1HGofi /VhS1sOi0HR8WKZYtxZuZRWCYfPDjo9fxVh2qAJTq+c2rOKjogHB2UP5eMhvZlV9aZlw QPr+8a1ojwpENRvjxj+n/lHtXQ50JBzkrR8k7/sR3FDq/VlrlBMp/gdYQ3UNd/ySxhi6 0AV2FkEJECyE1x0i94ga6VxzHzv7dHmf+4/s/F/3k+d9mtqqt7BMsW6ROqdlrn8wZD/z Aa3A== X-Received: by 10.180.84.97 with SMTP id x1mr4330398wiy.1.1431764866339; Sat, 16 May 2015 01:27:46 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id hn7sm1850483wib.5.2015.05.16.01.27.45 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 16 May 2015 01:27:46 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> From: Dmitry Gutov Message-ID: <5556FF7E.8070006@yandex.ru> Date: Sat, 16 May 2015 11:27:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <5556A205.3040503@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/16/2015 04:48 AM, Paul Eggert wrote: > Familiar to those who know Markdown, yes. However, English quoting is > more familiar to English writers, and far more people know English than > know both English and Markdown. How many of them are used to seeing a fancy quote after typing a backtick? On the other hand, I've noticed that users familiar with Markdown consider the `' situation normal, if they treat it like markup (not punctuation). > It could easily do so, in a Hungarian locale. The characters are > programmable. We can do virtually anything. But it's a complication. > It's not weird. It's ordinary English markup. No, it's punctuation, not markup. There's no markup in English. >> The end result, visually, would be the same. > > We don't care only about what appears in Emacs after one types C-h. I'm not talking about that. > what we see on the screen when we're > editing is important. (Otherwise we'd probably be editing SGML by hand, > eeeyyyucckkk.) Indeed, you will see the fancy quotes on the screen while editing source files, even if something else will get saved to disk. font-lock is handy that way. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Andreas Schwab Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 May 2015 09:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 20385@debbugs.gnu.org, Dmitry Gutov Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143176987619805 (code B ref 20385); Sat, 16 May 2015 09:52:02 +0000 Received: (at 20385) by debbugs.gnu.org; 16 May 2015 09:51:16 +0000 Received: from localhost ([127.0.0.1]:46793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtYkV-00059M-Nz for submit@debbugs.gnu.org; Sat, 16 May 2015 05:51:16 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:56069) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtYkS-00059E-JX for 20385@debbugs.gnu.org; Sat, 16 May 2015 05:51:13 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3lphgz0Ypxz3hjJq; Sat, 16 May 2015 11:51:10 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3lphgy47Cjzvh1x; Sat, 16 May 2015 11:51:10 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id az89CI171QqA; Sat, 16 May 2015 11:51:08 +0200 (CEST) X-Auth-Info: vCEXEE3rwvtY24de1DP6Vmtt4kLgFzGiK63KWEzGb4FIoEfUqYxktiW2SKQmOF0P Received: from linux.local (host-188-174-205-226.customer.m-online.net [188.174.205.226]) by mail.mnet-online.de (Postfix) with ESMTPA; Sat, 16 May 2015 11:51:08 +0200 (CEST) Received: by linux.local (Postfix, from userid 501) id 4A9D61E588A; Sat, 16 May 2015 11:51:05 +0200 (CEST) From: Andreas Schwab References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> X-Yow: Now I'm telling MISS PIGGY about MONEY MARKET FUNDS! Date: Sat, 16 May 2015 11:51:05 +0200 In-Reply-To: <5556A205.3040503@cs.ucla.edu> (Paul Eggert's message of "Fri, 15 May 2015 18:48:53 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Paul Eggert writes: > Familiar to those who know Markdown, yes. However, English quoting is > more familiar to English writers, and far more people know English than > know both English and Markdown. The majority of English writers don't know about English quoting. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 May 2015 23:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143207808130271 (code B ref 20385); Tue, 19 May 2015 23:28:02 +0000 Received: (at 20385) by debbugs.gnu.org; 19 May 2015 23:28:01 +0000 Received: from localhost ([127.0.0.1]:50433 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YuqvY-0007sA-Fu for submit@debbugs.gnu.org; Tue, 19 May 2015 19:28:00 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:38105) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YuqvV-0007ro-Ja for 20385@debbugs.gnu.org; Tue, 19 May 2015 19:27:58 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id D2D01A6000D; Tue, 19 May 2015 16:27:51 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KU-r9tq++dYZ; Tue, 19 May 2015 16:27:50 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D0D0EA6000A; Tue, 19 May 2015 16:27:50 -0700 (PDT) Message-ID: <555BC6F6.8020305@cs.ucla.edu> Date: Tue, 19 May 2015 16:27:50 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> <5556FF7E.8070006@yandex.ru> In-Reply-To: <5556FF7E.8070006@yandex.ru> Content-Type: multipart/mixed; boundary="------------070201000508070105040803" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------070201000508070105040803 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 05/16/2015 01:27 AM, Dmitry Gutov wrote: > Indeed, you will see the fancy quotes on the screen while editing > source files, even if something else will get saved to disk. font-lock > is handy that way. OK, I tried that, but it didn't work for me. The attached patch works much of the time, but it causes annoying glitches on the screen (for an example see attached, created by "emacs -Q" and 'C-h b'; note the red color glitch after the double-quote). Fiddling with the regexp doesn't help matters. I'm afraid that font locking is so poorly documented (see Bug#20613) that I can't tell whether the color glitch is a bug in Emacs or in this patch's change to Emacs. Even if I ignore the glitches, I found it disconcerting that the "wrong" characters were used to display text characters (or, from another point of view, that the buffer's contents were "wrong" compared to what was on the screen). So I'm inclined to do something less tricky, e.g., simply replace characters in the *Help* buffer before displaying the buffer. I plan to look into that next. --------------070201000508070105040803 Content-Type: text/plain; charset=UTF-8; name="fontlockquote.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fontlockquote.txt" ZGlmZiAtLWdpdCBhL2xpc3AvaGVscC1tb2RlLmVsIGIvbGlzcC9oZWxwLW1vZGUuZWwKaW5k ZXggZjk5ZTkxNi4uNGY1MzUwOSAxMDA2NDQKLS0tIGEvbGlzcC9oZWxwLW1vZGUuZWwKKysr IGIvbGlzcC9oZWxwLW1vZGUuZWwKQEAgLTI4Nyw2ICsyODcsMTIgQEAgQ29tbWFuZHM6CiBc XHtoZWxwLW1vZGUtbWFwfSIKICAgKHNldCAobWFrZS1sb2NhbC12YXJpYWJsZSAncmV2ZXJ0 LWJ1ZmZlci1mdW5jdGlvbikKICAgICAgICAnaGVscC1tb2RlLXJldmVydC1idWZmZXIpCisg IChmb250LWxvY2stYWRkLWtleXdvcmRzCisgICBuaWwgJygoImBcXChbXls6c3BhY2U6XSdg 4oCY4oCZXVteJ2DigJjigJldKlxcKT8nIgorICAgICAgICAgIC4gKDAgKHByb2duIChjb21w b3NlLXJlZ2lvbiAobWF0Y2gtYmVnaW5uaW5nIDApCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgxKyAobWF0Y2gtYmVnaW5uaW5nIDApKSA/4oCYKQorICAgICAg ICAgICAgICAgICAgICAgIChjb21wb3NlLXJlZ2lvbiAoMS0gKG1hdGNoLWVuZCAwKSkgKG1h dGNoLWVuZCAwKSA/4oCZKQorICAgICAgICAgICAgICAgICAgICAgIG5pbCkpKSkpCiAgIChz ZXQgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2Jvb2ttYXJrLW1ha2UtcmVjb3JkLWZ1bmN0aW9u KQogICAgICAgICdoZWxwLWJvb2ttYXJrLW1ha2UtcmVjb3JkKSkKIAo= --------------070201000508070105040803 Content-Type: image/png; name="Screenshot from 2015-05-19 15:26:13.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Screenshot from 2015-05-19 15:26:13.png" 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 YLPZ5HQ65XQ62+SDsbS0VCUlJabUMzw8/AcfNktLS31n37/O3uoX4I0IDg72/arUpUsXy2/P vLw8xcc3/vAitJ7Z29fr9aqqqsr3i8XpXyucTqffF2SPx6PqujOtNptNwcHBbf7FuLl6B3IM a+rONW1dn9qQ7va7NXBT9TNjXHhb9JPTZ9/dbrdqampqr4mqrvZ99p09PM3pdCr76636v8/W 6rJ/n65xF/+b7L4hpQA6q5UrV7Zu2ExQUJD6GHxwSnPa8kPGZrPJ5XKZelFcWx3gvg8BsTOp vz0vjZ/cwbUBAnM6iDd3YqOz/bLR1mE8UM3Vx+pnnOtfa3b6F83g4GBfqK//xaV+2V69emna Zf/umw7AGlo9uK2jzuwEigMToA4Z//xDwvaFEW3VT+o/2dwqn80AAsfeDfyAREZGdnQVvtfY vjCCfgKgNQjvAAAAgEUQ3gEAAACLILwDAAAAFkF4BwAAACyC8A4AAABYBOEdAAAAsAjCOwAA AGARhHcAAADAIgjvAAAAgEU4JcnlcjVZKCIiol0qAwAAAHwfFBcXN/l+QUFBi+bLmXcAAADA IjpdeN98551alpR0zn8bb7lFkpT9+OP6/MorDc3TW1OjZUlJOvbxx21W76/nztUX11xj6jx3 PvOMMi+4QMuSks65rkbKtJf22M71daZ1N8u+JUt0Yv36jq6GJWTdeKO23H9/m82/7PBhLUtK UumBA+csY8X2MqvOVlz3H4LW7hed4bi6b8kSLUtKUnVRUbNl2/tzpzNYM3Vqg0zU1ozs7z/E tugozo6uwNkG/PKX6jltmiSpZP9+7XzmGQ2cPVuRgwZJkkJ69Ah8pjabIlJS5LTQ8J9TW7dq 9yuvaMRTTylq+HA5w8JaVKZdteN27nTrbpL9b7yhntOnK3bs2I6uCgywYnuZVWcrrjuaZsnj qgU/31vrwsWL5amuVvajj7bbMg3t7z/AtjBbcXGxvv0uX5WVlQoODlb3bnGNDl3vdOG968iR 0siRkqSTX30lSYoZM0bdLr64xfO0ORz60YoVptSvvZTs2ye706m+P/95q8q0p/bczp1t3QHA 6qx4XLXi53trhcTHS5IcoaHy1tR0cG3O+CG2hZmKiot14OAh3+uy8nLtP3hI/RL7NAjwAQ+b KdmzR4fefVcle/a0qoxZDr//vj4dP14rRo1SzhNPyOt2+947/bP36X/n+inn6PLlWnvZZfoo NVWZY8dq4223Gfq5rjHfvPiiVowerRWjR2v7738vr8fje6+xoT6b77xTG266ya/MsqQkfXXf ffLU/QR19s+XRspIUv66dfr8yiu1fOhQfTJunHJffbVBfY98+GHt0ID9+7Xuuutqt8GFFwb0 s1d7bmej635o6VKtmjRJywcP1qqMDB18++02WffTbbr39df1ybhxjfbD5upTU1bmW4+SvXv1 zR//6Hud89RTfvMx0qat3c7Vp05p+eDBOvzee37TS3JztSwpSflZWYbWq/72qe/sPm/UroUL tXLMGH08cqR2PP10o2WM1qe59mpKIO3VlE/GjdO+JUsafe/AX/+qleefL0kq2rFDm26/XZkX XaTlgwdr9eTJAa+XWXUOZD5G9kEjmuvPzW2f8uPHtSw5Wd9+9pnffPOzsrQsKUllBw+emWZg /zKDGW16mpH9ojmd7bhqhFmfO1sffFBf/PSnyn78cX2clqaV55+vXQsWtKhOTfUfo/3QSN8w wsixt7llGd3fjbZFexyfrezb7/INTw/4zPt3X3yhnCee0LDHHlN4UlKLy5ih9MABHXz7baU+ 9JAKd+zQ7pdeUsyYMep52WWSpNAePTRx7Vp5PR6tSk9vdB4lubn61z33qP8NN2jYY4+p6uRJ HcvMVE1ZmVyRkQHVp3DbNnk9Ho38wx9UvHu3di1YoNCePdV/1izD8xh8991KuukmHfv4Y+18 9lmlf/qpJMkeFBRQmYKNG5V1/fXqMWmSUn7zG5Xs3audzz2n4Lg49WlkHOPmu+5S4tVXK/WR R1S6f79sduPf69pzOxtZ97xVq7Tl/vvV99prFf/ww/p2zRptfeghuaKilDB1qqnrLklFO3cq IiVF//buuyravl0bb7vNrx82Vx9naKgmrl0rSVp33XWKnzhRA268UZLkCg/3LcdIm5qxnV3R 0YrPyNDhf/xDvX/yE9/0wx98oNCePRVX97NpoNu5NQ6+846+eeEFDbzjDkUNG6bcV19V0fbt vm0cSH2aa6/TgmNiNGrhQgV36+Y33Wh7NSc6LU2FOTmNvleYk6PotDRJUnFurkJ69NCwuXMV 1LWrCrdtU/ajjyo4Lk7xEycaWi+z6mx0Pmb1DSP9ubntE9qjh7qmpen4ypXqfsklvnkfX7lS kUOHKiwxUVLgx8zWMKNNJWP7hRGd8bjaHDM/dwo2b1aXfv2U8c9/+gJtaK9eSgzgOrbm+o/R fmi0b5ihuWUZ3d+NtIXZx+fvo4qKikanlzcyvdMNmwlETUmJRr/4ooJjY5UwbZq+XbNG+V9+ 6Wtkm9OpsN69m/xZ6VTdh+fQOXN8B5eWBg9PVZVGv/CCQhMS1GPSJJXu26d9ixYFFN5d0dFy RUcrKCZGstkU1rt3i8rsXLBAkUOG6PyXXpJsNsVnZKi6qEi5r73W6AdRn5kz1e+66yTJd32B Ue25nY2s+95FixSdlqYR8+ZJkuLT01W0Y4f2LlrU6DJbs+6SJJtNwx59VI6wMIUmJKjrqFF+ /bDZ+tRbD7vLJVdkZIvb1Kzt3HvmTG26/XZVfvedL7we+eAD9b7iCslmM7ZeJtq3ZIkSpkzR oLvvliRFDx+uT8eP9ytjuD7NtNdpjrAw9Zo+vWFlDLZXc7qOHKkj//iHJMldXq6jH32khGnT 5AwLU2FOjuIzMiRJvWbMUK8ZM3x/FzdunE59/bWOfPih/4d5U+tlUp2NzsesvmGkPxvZPglT p2rPn/6k4U895ZvP8U8+UeK11/r+LtBjZmuY0qYytl8Y0SmPq80w83PH7nIpde5cuSIi1G38 ePW56irtW7w4oPBupP8Y6YeG+4YJml2Wwf3dSFuYfXz+PvJ6vYanB/xVuP+sWZqxZ0+TgdRI GTOE9e2r4NjYM68TE1WZ3/jPDucSkZIir9utrXPmKD8rS+6yspbXJzFRoQkJvtexF16o0gMH 5KmsbPE8W8JTXa2CTZt8H9q++owZo5I9e+SpqmrwNz0mT27TOpm5nZtTmJOjuIsu8psWd/HF 5zzL2dp175KYKEe9C7tCunXz64eB1qcxRtvUrO3c/Uc/kisqSkeWLZNUe/1J2aFDfmfizVgv I7wej0q++UZxF17omxYSH6+I5GS/ckbr01x7tZfotDQV5+bKU1mpExs2aMsDD+jEunXy1NSo aNcuRddd++OprNQ3L76oNVOn6uMRI7R8yBAdW7myQZ07y3pJ5vUNI/3ZyPbpMWWKKvPzfddR ncrOVvmxY77Q0JJjZmuY0aZG9wuztPdx1QxGj4dd+vWTq96Y4qhhw1S8e7ffsNemGO0/zfVD yXjfMEN7Lstqx+fOztJn3s/+uddmt8sT4MUbUampGrVwofa+/rqyZs2SzW5Xr8sv14h582R3 BrZ5XFFR/q/rfparPHlSoS25S04L1ZSUyOt2a9dzz2nX88+fecPrlbxeVeTlKaxPH7+/Cene vU3rZOZ2bk5NcbGCoqP9pgVFR8tdXi5vTY1sZy2vtevuCA31n2Cz+Z2BCLQ+jTHapmZtZ7vT qV4//rEOv/++BvzylzrywQeKHjFC4QMGmLpeRtSUlMhTUyPX2cvq2tW/nMH6NNde7SV6+HDJ 61Xhjh06kZWlmNGjlZ+VpZCEBHmqqtR1xAhJ0rb583Vk2TINnTNH0cOGyR4UpJ0LFqjqrId7 dJb1kszrG0b6s5Ht0yUxUZFDhuh4ZqZiRo/W8cxMhScl+YJuS46ZrWFGmxrdL8zS3sdVMxg9 HjrPyhLO8HB53W5VFxYa2p5G+09z/VAy3jfM0J7LstrxubOzdHg3S6/p09Vr+nTVlJTo0Lvv atvvfqeY889X4tVXBzSf6sJC/9dFRZLN5vt1wOZwNPj5w32OMU6t4QwPl83h0KB77lGPSy9t 8H5IvV8HTrM5HKbX42xmbefmOCMiVHXqlN+0qlOn5AgNbTQ0tPW6B1qfRucRQJuatZ37zJyp fYsWqXj3bh396COl/OY3Aa+XGX3eFREhu8ulmtJSv+nVJSWqf5g3Yzu3J2eXLgpPTlZhTo7y s7KU+tBDyn7ySUWkpKhL376+UHZk2TKl3HqrX/u5y8s7qtqGmNkWzfVno9snYepUHfr73zX0 wQd1LDNTCVOmnKlvC46ZrWFGmxrdL8zS2Y6rRhk5HlafvV4nT8rmcBi+TiiQ/tNUP5QC7Bv1 zvI3eMvAsbc9jy1WOz53dgEPmzmVna0t99+vYytXtqpMZ+QMD1f/669XaM+eqsjLC/jvyw4e VPmxY77XBRs2KDwpSXaXS5IUHBuryu++O/MHXq+Kv/mm1fU+m93lUtdRo1S8e7fCk5Ia/DP7 THegWrudmxM1bJjy163zm5b/xReKGjbM9GWZXR9neHijP+22pE1bu52jUlMVOWiQtj74oKpP nfIbG2l0vUzp8zabIgYNUtH27b5J7rKyBnez6oh2P1d7GdU1LU0n1q9XdVGRYsaMkbeqSt99 /rlvyIy8XnkqKvzO/tWUlalg8+YOq7OR+bRFWzTanwPYPglTpqjs0CEd/egjleTm+g1VCHT/ atVnnFltanC/MEtnO64GqqnjYen+/X6f3SeyshSRnGz4C0gg/aepfhho3wiKimoQiE9r9tgb 4LJae9wwu/8U5+bq4Ntvqzg3t8V1srKAU1z54cM6tHSpQhISGnxjDKRMe6g8caL2J5m6cWuV BQUqO3xYknwXXRz4y190cssWdZ8wQcGxscpbvVplR440GJtlhD0oSJtnz1byrbeqJDdXh5Yu 1fAnnvC9H3fRRdr57LM6tHSpuk+YoP1//rMq8/PbZIzi4HvuUdasWbK7XIqfNElS7d1wCrdt 0wWvvWbqstp7OzdnwA03aMPNN+vrhx9Wj0svVd7q1SrYvLn2QqIOEEh9IgYO1LEVKxSfkaHg uDi5oqN9v9wYaVOzt3PvmTO1ff58xWdkNPj52Mh6mdXn+19/vXIef1w9pkxRdGqqdjz7bIOz SB3R7k21lxHRI0cq+9FH1eeqqyTVXjC2/803lTp3bm0Bm01x48bpwF//qu4TJsjr9SrnySel Vtw6rbV1NjIfs9qi2f4cwPaJSElR+IABynnySYX17q2o1FS/9wM5ZrbqM87ENjWyX5ilI/av vH/+U46QEL9p0eedp9AePUz93Kn/2V28c6eOLl+u4QHcQlUy3n+a7IcB9o3YCy7QwXfe0cF3 3lFEcrKCu3XzrXuzx94Al9XU/m6kLczuP/lffum7q2FbXefRmQUc3suOHJFUeyFGa8q0h62/ /a3yVq/2va7/NLIZdWcnIgcP1rHMTGU/9pjcZWXq0q+fRi1YoJjRowNeXlRqqrqNH68tDzwg 2WxK/vWv1bfeVeRdzztPA2fP1vb587V93jz1/dnPFJ+e3iY/U8WOHauxixdr1/PP68hdd8ke FKSIQYNMH6Iitf92bk58RoZGPv20dr/8sg79/e8K7dlTI+bNM/0OKG1Rn4GzZ2vr0aPacPPN qiktrb3F2SOPSDLWpmZv5/iMDG2fP7/2LjMtWC+z+nyfmTNVfviw/nXXXfJUVqrnv/+734V6 Rutjtqbay4iuaWnyut2+h9DFXXyx9i1Zoui68e6SNOJ3v9PXc+dqVUaGHGFhSrzmGrkiI1W6 f3+H1NnIfMxqCyP9OZDtkzB1qna//LIG/OpXDd4L5JjZ2s84s9rUyH5hlo7Yv776j/9oMG3U woXqNX26qZ870Wlpijn/fH31H/8hu8Oh5NtuU9+f/jSgugbSf5rqh4H0jZ7Tp+vkli3aPn++ qgsL1e8Xv9Dwxx+XZOzYG8iymtrfjbRFZ/tctjrbW2+95Z3e2O3Q6qn/ZKeNt9yiirw8jX// /XOWN1IGQOe3b/Fi7XzuOU1ev77BGTDgh4rPuO+PrQ8+qNIDBzTurbc6uir4HiouLm7y/YJ6 Fwdnb9t+znLDU4f6/v/LL78McMy716uCTZuUcvvtrSsDoFMrO3hQeatXa/fLL6vPzJkEd+A0 PuMAdLDAhs3YbJrS3EU1RsoA6NR2PPOMjq1YoW4XX6xB997b0dUBOg8+4wB0MO7PA6CB0X/8 Y0dXAQDaXNr8+R1dBSBgAd8qEgAAAEDHILwDAAAAFkF4BwAAACyiU4b3HU8/rWVJSQ3+bT/H 2LSdzzyjzAsu0LKkJH1+5ZXtXFvr27dkiU6sX99p5mNFVl335vYdb02NliUl6djHHzd4b83U qb59c+Mtt7RHdU3T1HqZPZ/22L+yH3/c1GOfmf35+9jHWtvuZraXp7JSO599Vp9ecomWDx2q 1ZMna89//7cp8+4M9eHzHWioU16w2vuKKxQ9fLhK9uzRzgULNOiuuxSRkqIuAwY0KHtq61bt fuUVjXjqKUUNHy5nWFgH1Nja9r/xhnpOn67YsWM7xXysyIrrbmjfsdkUkZIiZ71nPZx24eLF 8lRX+z2QwzKaWC+z52PF/cusZX1v+1g7tntzNt5+uwo2blTK7bcrPDlZRTt36siHHyrp5pvb dLntUR8+34HGdcrwHjFwoCIGDlTBpk2Sap9cdq4DYMm+fbI7ner785+3ZxUByzOy79gcDv1o xYpG3wuJj5ckOUJD5a2paZM6tpWm1qsj5vN99X3tY52l3Y+tXKlv16zRBf/934rPyJAk9Zg0 SQNuvPF7UR8+34HGBTxspmTPHh16912V1D3ytqVlWiv78ce1LClJX913nzx1P2EG+rNa9alT Wj54sA6/957f9JLcXC1LSlJ+VpZv2qGlS7Vq0iQtHzxYqzIydPDttxvU5+xlb77zTm246SbD 9flk3DjtW7Kk0fcO/PWvWnn++ZKkoh07tOn225V50UVaPniwVk+efM767H39dX0ybpxWjBql nCeekNftliTVlJX5tlnJ3r365o9/9L3Oeeopw3UOZD7NbUOjPJWV2vGHP+jT8eO1fMgQrZk2 TYeWLvUrc+TDD7UsKUml+/dr3XXX6aPUVGVeeKHfz9z569bp8yuv1PKhQ/XJuHHKffVVv3k0 t50DWffmlmWEkXY3wsi+U4ZF75YAACAASURBVHb4sN+QtdYMLzFj3ZtTfvy4liUn69vPPvNf dlaWliUlqezgQUnG1+vo8uVae9lltf1m7FhtvO02VRcV+d5vbj4dsX9J0uH339en48c32N8l c/tzc6zWx4wee81u96bay4gj//iHwvr08QXl05xduhieh7emRp9dfrk2nfXQqc2zZ2vtZZfJ U13drvWRzPl8B77PAj7z/t0XXyjniSc07LHHFJ6U1OIyrTX47ruVdNNNOvbxx9r57LNK//RT SZI9KMjwPFzR0YrPyNDhf/xDvX/yE9/0wx98oNCePRVXd7Y/b9Uqbbn/fvW99lrFP/ywvl2z RlsfekiuqCglTJ1q2jpFp6WpMCen0fcKc3IUnZYmSSrOzVVIjx4aNneugrp2VeG2bcp+9FEF x8UpfuJE398U7dypiJQU/du776po+3ZtvO02xYwZo56XXSZnaKgmrl0rSVp33XWKnzjRd3bE FR5uuM5G52PmNtx0xx06sX69Bs6erYhBg1T8zTf6ds0a9Zk5s0HZzXfdpcSrr1bqI4+odP9+ 2ey131cLNm5U1vXXq8ekSUr5zW9Usnevdj73nILj4tSn7gOiue1sdN2NLMsIo+3eHCP7TmiP Hpq4dq28Ho9WpacbnvfZzFr35oT26KGuaWk6vnKlul9yiW/68ZUrFTl0qMISE33lmluvktxc /euee9T/hhs07LHHVHXypI5lZqqmrEyuyEhD82nv/UuSSg8c0MG331bqQw+pcMcO7X7pJd/+ LpnXn42wWh8zeuw1s92bay8jTuXkqGtd3VrK5nTqvGef1WczZujIhx+q1/TpOrZypY5nZmr8 ++/L7nK1a30kcz7fge+zTjlsxghXdLRc0dEKiomRbDaF9e7dovn0njlTm26/XZXffafgbt0k SUc++EC9r7hCstkkSXsXLVJ0WppGzJsnSYpPT1fRjh3au2iRqeG968iROvKPf0iS3OXlOvrR R0qYNk3OsDAV5uT4zmb0mjFDvWbM8P1d3LhxOvX11zry4Yf+Ic5m07BHH5UjLEyhCQnqOmqU 8r/8svbDod42s7tcckVGtmwbGpyPWduwYONG5a1apfNfflkJU6ZIkrpfcsk5f1LvM3Om+l13 nSQpctAg3/SdCxYocsgQnf/SS5LNpviMDFUXFSn3tdd8H/jNbmeD625kWUYYbvdmGNl3bE6n wnr3bvVQBbPW3YiEqVO1509/0vCnnvJ9STv+ySdKvPZaXxkj63WqLsQNnTPHN5+z+2iz82nn /UuSakpKNPrFFxUcG6uEadP07Zo1Z/Z3mdefjbBaHzN67DWz3ZtrLyOqCgoUFBtruPy5RCQn a/C99yrnsccUOXiwsh95RAPvvFORQ4YENB+z6mPW5zvwfRXwsJn+s2Zpxp496j9rVqvKdBbd f/QjuaKidGTZMknSya++UtmhQ35n4gtzchR30UV+fxd38cXnPFPTUtFpaSrOzZWnslInNmzQ lgce0Il16+SpqVHRrl2KHjlSUu2wkW9efFFrpk7VxyNGaPmQITq2cqUq8/P95tclMVGOehf4 hHTr1qBMezFrG+avXy9HSIgSJk/2m25zNv49tMdZ5STJU12tgk2bfF9iTosdM0Yle/bIU1VV W87gdm6K0WUZmpcJ9WlPZq67ET2mTFFlfr5OfvWVJOlUdrbKjx0L+At2REqKvG63ts6Zo/ys LLnLykytZ1sJ69tXwfWCU1hiol/fsFr/McKsPmb02Gum5trLTJ7qalUXFfn+NTYUZsCvfqXw 5GT93xVXKLR3byXfemub1MVofQCcm2XPvJvF7nSq149/rMPvv68Bv/yljnzwgaJHjFB4vTvb 1BQXKyg62u/vgqKj5S4vl7em5pzBMVDRw4dLXq8Kd+zQiawsxYwerfysLIUkJMhTVaWuI0ZI krbNn68jy5Zp6Jw5ih42TPagIO1csEBVBQV+83OEhvovwGbrsIu+zNqGVSdPKjguzu+Duikh 3bs3rEtJibxut3Y995x2Pf/8mTe8XsnrVUVensL69DG8nZtidFlGmFGf9mTmuhvRJTFRkUOG 6HhmpmJGj9bxzEyFJyUpIjk5oPlEpaZq1MKF2vv668qaNUs2u129Lr9cI+bNk92kfb0tnD0s w2a3y1Nvf7da/zHCrD5m9Nhrpubay4igrl1VdeJEs+UOL12qrQ895Hs97LHHGpxcs9nt6jVj hgo2bVKv6dNlczgCqovZ9QFwbp33k6gd9Zk5U/sWLVLx7t06+tFHSvnNb/zed0ZEqOrUKb9p VadOyREa6gudNodDXq/Xr4y7oiKgeji7dFF4crIKc3KUn5Wl1IceUvaTT9beJrNvX7nqwu+R ZcuUcuutSrz66jPLKi8PaFntzcg2NCIoOrr27JTXayjAN/YB5AwPl83h0KB77lGPSy9t8H5I QoIkc7az0WUZ0Wnb/RztYOa6G5UwdaoO/f3vGvrggzqWmekbWhWoXtOnq9f06aopKdGhd9/V tt/9TjHnn++37a2m0/YfI9q4jxk99nY2UampOpWd3Wy5+IkTdXG9i5NPXwNSX0VennY+95xi x47VroULlTB1qkJ79uyw+gA4t4CHzZzKztaW++/XsZUrW1WmM4lKTVXkoEHa+uCDqj51ym9c qCRFDRum/HXr/Kblf/GFooYN870Ojo1V5XffnSng9ar4m28CrkvXtDSdWL9e1UVFihkzRt6q Kn33+ednfrb1euWpqFBQ166+v6kpK1PB5s0BL+s0Z3i4KUMDmpqPkW1oROzYsXJXVOhYZqbf 9EB+UbC7XOo6apSKd+9WeFJSg392pzPg7XyudTe0LCPaoN3NEhQV1eCLmRT4uptx3EiYMkVl hw7p6EcfqSQ3t9XXpDjDw9X/+usV2rOnKvLyWjyPtt6/mmVSf+4oZvWxpjR77A1Qe2zDXjNm qOzQIeWtWuU3vaakxO91cFycYs4/3/evsV8kt86Zo4jkZF30xhuKHjZMW+6/v/YkSQfVxyir 5Q3ADAGfeS8/fFiHli5VSELCOc9qGSnTlOJvvlHJnj2+W02eWL9eVQUF6jJggN9Fh2bqPXOm ts+fr/iMDL8POEkacMMN2nDzzfr64YfV49JLlbd6tQo2b669QKpO3EUXaeezz+rQ0qXqPmGC 9v/5z6rMzw/4J/vokSOV/eij6nPVVbXzHTdO+998U6lz59YWsNkUN26cDvz1r+o+YYK8Xq9y nnxSCvAWY/VFDByoYytWKD4jQ8FxcXJFR/uNxTRjPka2oRGxF1yg7hMmaMv996vs4EFFDhqk kv37VbBxo0a/8ILh+Qy+5x5lzZolu8ul+EmTJEmF27apcNs2XfDaawFv56bWvdllGdEG7d6U yhMnaoc0eTy1rwsKVHb4sCQ1uHgs9oILdPCdd3TwnXcUkZys4G7dfGUCWffWHjek2vHq4QMG KOfJJxXWu7eiUlMDXq8Df/mLTm7Zou4TJig4NlZ5q1er7MgRv2s2Atk+7bF/NcvE/myWjuhj TWn22BtgndtjG/a87DIdePtt/evuu5V8660KT0pS0c6dyvvnP3XJBx8Yns/+N9/UiQ0bNGH5 ctkcDqX94Q9aO22a9i5aFNA92s2qTyDMOG4AVhNweC87ckRS7QVBrSnTlMPvv+93n95dCxdK kpJuuklDH3ywRfNsTnxGhrbPn197l5lG3hv59NPa/fLLOvT3vyu0Z0+NmDfP76xe1/PO08DZ s7V9/nxtnzdPfX/2M8Wnpwf8s3TXtDR53W51u/hiSbUXde5bskTR9cZcjvjd7/T13LlalZEh R1iYEq+5Rq7ISJXu39+idR84e7a2Hj2qDTffrJrS0tpb5D3yiKnzMbINjTr/5Ze1a8EC7Vu8 WJUnTqhLYqKSfv3rgOYRO3asxi5erF3PP68jd90le1CQIgYN8htSEMh2bmrdjSzLCLPbvSlb f/tb5a1e7Xtd/wmXM856fkPP6dN1cssWbZ8/X9WFher3i19o+OOPSwps3Vt73DgtYepU7X75 ZQ341a9atF6RgwfrWGamsh97TO6yMnXp10+jFixQzOjRAc3ntPbYv4wwqz+bpSP6WFOMHHs7 ot2bZLPpgldf1TcvvKADb72lyhMnFJqQoL4/+5nhWZQePKjt8+dr8H33qUu/fpJqv4gMmTNH 2+bNU/dLLjF+y2cT6hMos44bgJXY3nrrLe/06dObLBRR7xHQG2+5RRV5eRr//vvnLG+kTGez b/Fi7XzuOU2uu5sJgPZlxeMGgI7FcQOdWXFxcZPvF9S7YUD2tu3nLDc8dajv/7/88ssAx7x7 vSrYtEkpZz2JLeAynUjZwYPKW71au19+WX1mziS4Ax3BYscNAJ0Axw38QAU2bMZm05TmLpAz UqYT2fHMMzq2YoW6XXyxBt17b0dXB/hhsthxA0AnwHEDP1A/+FtFjv7jHzu6CgAAAIAhAd8q EgAAAEDHILwDAAAAFkF4BwAAACyiU4f3fUuW6MT69Y2+l/344/r8yivbuUbtp6l17widrS3a c/uYtSxvTY2WJSXp2Mcfm1CrprVne5nZFjufeUaZF1ygZUlJjdaxqW24ZupULUtK0rKkJG28 5ZZW16Xs8GEtS0pS6YEDrZ6XVXw9d66+uOYaU+fZXJsaLQMAqNWpw/v+N95QflZWR1ejQ3S2 df8h18e0ZdlsikhJkbPecxPaihW3z6mtW7X7lVc06O67Nf799zXy6acbFmpiG164eLEmrl2r 7hMmtLouMIeRNjXU7gAAnx/83WaA9mJzOPSjFSs6uhqdVsm+fbI7ner785+fs0xT2zAkPl6S 5AgNlbempk3qiMAYaVMjZQAAZwR85r1kzx4devddlZz1KOhAy5xLTVmZ76fvkr179c0f/+h7 nfPUUw3KH37/fX06frxWjBqlnCeekNft9ns/f906fX7llVo+dKg+GTdOua++6vf+6SEEe19/ XZ+MG3fO+RjR2mUFsu7NLUuSjnz4Ye3P/vv3a9111+mj1FRlXnih4WEb7d0WZtanqWV5a2r0 2eWXa9NZD/bYPHu21l52mTzV1QGve1NOD784/a+x7W9GPzSzvYp27NCm229X5kUXafngwVo9 ebIOvv12i5fVlOzHH9eypCR9dd998tQNizl7+ISRbWhUa/vhaUeXL9fayy6r3a/GjtXG225T dVFRwPM5tHSpVk2apOWDB2tVRobfdv5k3DjtW7Kk0b878Ne/auX550sy9zgmSd+8+KJWjB6t FaNHa/vvfy+vx+N7r7FhV5vvvFMbbrrJr0xzbWqkjNQ+xzoAsJKAz7x/98UXynniCQ177DGF JyW1uMw5KxQaqolr10qS1l13neInTtSAG2+UJLnCw/3Klh44oINvv63Uhx5S4Y4d2v3SS4oZ M0Y9L7tMklSwcaOyrr9ePSZNUspvfqOSvXu187nnFBwXpz71PiCKdu5UREqK/u3dd1W0fbs2 3nab33yMMGNZRtfd6LJO23zXXUq8+mqlPvKISvfvl81u7DtbR7SFGfVpblk2p1PnPfusPpsx Q0c+/FC9pk/XsZUrdTwzU+Pff192l0t2p9PwujcntEcPTVy7Vl6PR6vS089ZrrX90Mz2Ks7N VUiPHho2d66CunZV4bZtyn70UQXHxSl+4sSAltWcwXffraSbbtKxjz/WzmefVfqnn0qS7EFB vjJGt2FzAumHwTExGrVwoYK7dWswn5LcXP3rnnvU/4YbNOyxx1R18qSOZWaqpqxMrshIw/XJ W7VKW+6/X32vvVbxDz+sb9es0daHHpIrKkoJU6cqOi1NhTk5jf5tYU6OotPSfK/NOI5JUuG2 bfJ6PBr5hz+oePdu7VqwQKE9e6r/rFmG52GkTY2Uaa9jHQBYSecbNmOzKax3b0mS3eWSKzLS 9/psNSUlGv3iiwqOjVXCtGn6ds0a5X/5pe/DaueCBYocMkTnv/SSZLMpPiND1UVFyn3tNf8D v82mYY8+KkdYmEITEtR11Ci/+RhhyrIMrrvhZdXpM3Om+l13nSQpctAgw+vUIW1hQn2MLCsi OVmD771XOY89psjBg5X9yCMaeOedihwyJOB1b7baTqfCevdufihHa/uhie3Va8YM9Zoxw1c+ btw4nfr6ax358EPFT5xo6vZxRUfLFR2toJgYv/n6rZrRbdiMQPqhIyxMvaZPb3Q+p+oC9dA5 c3wBMWHq1IDrs3fRIkWnpWnEvHmSpPj0dBXt2KG9ixYpYepUdR05Ukf+8Q9Jkru8XEc/+kgJ 06bJGRamwpwcxWdknJmZCccxSfJUVWn0Cy8oNCFBPSZNUum+fdq3aFFA4d1Imxop027HOgCw kIBPS/SfNUsz9uxp8kBupIwZwvr2VXBs7JnXiYmqzM+XJHmqq1WwaZMvFJ8WO2aMSvbskaeq yjetS2KiHGFhvtch3br55mNEZ13WaT0mTzY8/5Yyqy1aK5BlDfjVrxSenKz/u+IKhfbureRb bzWtHi3R2r4RiKbaS5I8lZX65sUXtWbqVH08YoSWDxmiYytXtll92oOZ/TAiJUVet1tb58xR flaW3GVlLapTYU6O4i66yG9a3MUX+862R6elqTg3V57KSp3YsEFbHnhAJ9atk6emRkW7dil6 5Ejf35nVf8ISExWakOB7HXvhhSo9cECeysqA59UanfVYBwAdrfOdeQ/A2T/P2+x2eerOzNWU lMjrdmvXc89p1/PPnynk9Uperyry8hTWp4+k2gvc/GdkC+gMX2dd1mkh3bsbnn9LmdUWrRXI smx2u3rNmKGCTZvUa/p02RwOU+rQUq3tG4Foqr0kadv8+TqybJmGzpmj6GHDZA8K0s4FC1RV UNAm9WkPZvbDqNRUjVq4UHtff11Zs2bV9qXLL9eIefNkdxo/rNYUFysoOtpvWlB0tNzl5fLW 1Ch6+HDJ61Xhjh06kZWlmNGjlZ+VpZCEBHmqqtR1xAjf35nVf1xRUf6v64YBVZ48qdAePQKe X0t11mMdAHQ0S4f3pjjDw2VzODTonnvU49JLG7wfUu/M0vd9WR0dSjvr9qnIy9PO555T7Nix 2rVwoRKmTlVoz56m1cXKjixbppRbb1Xi1Vf7prnLyzuwRgGod5a2PrP7Ya/p09Vr+nTVlJTo 0LvvatvvfqeY88/322bNcUZEqOrUKb9pVadOyREaKpvTKafTqfDkZBXm5Cg/K0upDz2k7Cef VERKirr07SvXWcHfDNWFhf6vi4okm833S43N4ZDX6/Ur466oML0eVjzWAUB7CDi8n8rO1v4l SxQ/aZISpkxpcRlDlQsPb/HP0XaXS11HjVLx7t1tPhyiLZZ1rnVvz/UyUh8jOuv22TpnjiKS k3XRG28oa9Ysbbn/fl305z83CH+tWfeO0qo6e73yVFQoqGtX36SasjIVbN6sqKFDzV1WGwiK ilJxbm6D6W217zjDw9X/+uu19/XXVZGXF9DfRg0bpvx16/ym5X/xhaKGDfO97pqWphPr16u6 qEgxY8bIW1Wl7z7/3G/IjJnKDh5U+bFjvqEzBRs2KDwpSXaXS5IUHBuryu++O/MHXq+Kv/lG EcnJptajLdqrODdXJzdvVtfRo02vLwC0l4DDe/nhwzq0dKlCEhLOGcyNlDEiYuBAHVuxQvEZ GQqOi5MrOtpvnG5zBt9zj7JmzZLd5VL8pEmSau+kULhtmy547bUW16s9ltXUurfnehmpjxGd bfvsf/NNndiwQROWL5fN4VDaH/6gtdOmae+iRb67ppi17pUnTtQOg6i73V5lQYHKDh+WpBZf 5NmcVtXZZlPcuHE68Ne/qvuECfJ6vcp58knpHLcdbO32MSKQbRh7wQU6+M47OvjOO4pITlZw t26+Mmb1wwN/+YtObtmi7hMmKDg2VnmrV6vsyJEG49ebM+CGG7Th5pv19cMPq8ellypv9WoV bN5ce4FmneiRI5X96KPqc9VVkmovHt7/5ptKnTs3oGUZZQ8K0ubZs5V8660qyc3VoaVLNfyJ J3zvx110kXY++6wOLV2q7hMmaP+f/6zK/Pw2CcNmHzfyv/zSdyc0wjsAqwo4vJcdOSKp9qKh 1pQxYuDs2dp69Kg23HyzakpLa2/L9sgjhv8+duxYjV28WLuef15H7rpL9qAgRQwaFNDP2h21 rKbWvT3Xy0h9jOhM26f04EFtnz9fg++7T1369ZNUGwCHzJmjbfPmqfsll/jd4rS16771t79V 3urVvtfZjz7q+/8ZLXgWghGtrfOI3/1OX8+dq1UZGXKEhSnxmmvkioxU6f79pi/LiEC2Yc/p 03VyyxZtnz9f1YWF6veLX2j4449LMq8fRg4erGOZmcp+7DG5y8rUpV8/jVqwQDGjRwc0n/iM DI18+mntfvllHfr73xXas6dGzJvnd+earmlp8rrd6nbxxZJqL2jdt2SJouuNdzdTVGqquo0f ry0PPCDZbEr+9a/V99prz9TnvPM0cPZsbZ8/X9vnzVPfn/1M8enpbTKsqiOOdQDQ2dneeust 7/Rz3A7ttIh6jyLfeMstqsjL0/j33z9neSNlAAAAgO+r4uLiJt8vqHcTiOxt289ZbnjqmSGr X375ZYC3ivR6VbBpk1LOejJlwGUAAAAABCywYTM2m6Zs3tz6MgAAAAACxrOjAQAAAIsgvAMA AAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsg vAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAA AIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDe AQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACA RRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8A AACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAi CO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAA AMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGE dwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAA YBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7 AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACw CMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE4R0A AACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAAAFgE 4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILwDgAA AFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAALILw DgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgHAAAA LILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAWQXgH AAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMAAAAW QXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsgvAMA AAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAACARRDeAQAAAIsg vAMAAAAWQXgHAAAALILwDgAAAFgE4R0AAACwCMI7AAAAYBGEdwAAAMAiCO8AAABAB7LZbIan E94BAACADhQaEtLo9JCQ4AbTCO8AAABAB+reLa7R6fHduzeYRngHAAAAOlBERIT6JfZRaGiI HHa7QkND1C8xURHh4Q3KOjugfgAAAADqiYiIUERERLPlOPMOAAAAWAThHQAAALAIwjsAAABg EYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcAAAAsgvAOAAAAWAThHQAAALAIwjsA AABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcAAAAsgvAOAAAAWAThHQAAALAI wjsAAABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcAAAAsgvAOAAAAWAThHQAA ALAIwjsAAABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcAAAAsgvAOAAAAWATh HQAAALAIwjsAAABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcAAAAsgvAOAAAA WAThHQAAALAIwjsAAABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcAAAAsgvAO AAAAWAThHQAAALAIwjsAAABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcAAAAs gvAOAAAAWAThHQAAALAIwjsAAABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZBeAcA AAAsgvAOAAAAWAThHQAAALAIwjsAAABgEYR3AAAAwCII7wAAAIBFEN4BAAAAiyC8AwAAABZB eAcAAAAsgvAOAAAALKWSvQAAIABJREFUWAThHQAAALAIwjsAAABgEYR3AAAAwCII7wAAAIBF EN4BAAAAiyC8AwAAABZBeAcAAAAsgvAOAAAAWAThHQAAALAIwjsAAABgEYR3AAAAwCII7wAA AIBFOCUpIiJCx44dO2ehkpKSdqsQAAAA8H0XFBQUUPmEhAR9+eWXteH92LFj2rVrV5tUDAAA AEDrPPvssxo9enTgw2Yuv/xyvfjii37TXnvtNU2bNs20ynV2x48fV3p6uo4fP97RVTGkvLxc ixYt0qJFi1RTU9Oiedx3331KT0/X8uXLmy1rte1jpv/5n/9Renq6/uu//qvBezfeeKPS09OV np6uuXPnNvr3RsoY8d577yk9Pb3JX83eeOMN37Lq/ysvL2/xcjubiooKzZw5U1u3bvWbbmT7 nOZ2u5Wenq61a9e2VTUNee211xptr1deeaVF83vvvfe0ZcsWk2vZtozUub3aa8eOHbr88stV VlbWpssBgLM5O7oCVvK3v/1N48ePl81m8007evSoPv/8c11zzTUdWLOmlZeXa/HixZKkn/70 p3I626bZrbp9zLRhwwZ16dJFGzZs0K233ur33jPPPKPq6mo9//zz5/x7I2XMFBMTozvvvNNv WnBwcLssuz28++676tmzp9LS0lo8D5vNpn79+qlLly4m1ixwl156qQYNGqSDBw/q9ddf1w03 3KB+/fqpT58+LZrfe++9p4yMDI0cOdLkmrYdI3Vur/YaMmSIBgwYoLfffls33nhjmy4LAOoj vBvk8Xj0r3/9S3/60580efJkSbVnLj/55BONGjVKV111lez2H+71v2wf6dSpU9q9e7d+/vOf 680331R+fr7i4uJ878fGxkqqDcdut7vReRgpY6aQkBBNmDChzZfTETwej9577z3dcMMNrZqP 3W7X//7v/5pTqVbo37+/+vfvr+zsbElSWlqapYJ3e2nP9po2bZpeeeUVzZo1Sw6Ho12WCQBt Gt4PHjyo7du3a+jQoUpMTGzLRbU5u92u3//+91q/fr2efPJJSdLq1av11FNPaezYsb5yXq9X ixcvVmZmpvLz89WlSxcNHDhQs2fPVu/evX3lTp48qddee01ZWVkqLy9XYmKirrrqKl/wlaRr r71WeXl5uvfee/XZZ58pOztbLpdLd999tyZOnKjs7Gy99dZb2r17twoLCxUeHq4xY8bojjvu UGRkpHJzc3XzzTf7rcdll10mSerZs6fefPPNgOojSYWFhbr33nu1Y8cODR8+XHPnzlVkZKTh 7fN9tmnTJtntdl199dX629/+po0bN1piOJnH45Hb7ZbL5eroqphq48aNKigo0CWXXNKivz9+ /Lh+9rOf+V4//vjjjX7RWbNmjd544w0dOXJEYWFhGjZsmB544AGFh4dLkv7zP/9Thw4dUlJS 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 FAQUd0WDslzKNRdeU7ReLXPJ1IxXzcrXpdRKKzUtcklNxeR1IRMtdw3XFHPBpRQXVFRQQEB2 mN8fxNiIwhnFjH7357rmujxnnvM891lG7vOc55yzZs0aVCoVXbt2JS0tjRkzZlTqjb9NmjTh 6NGjHDx4kPnz5zNw4EDefvtthg0bxpAhQ3B1da20tkr1audCTl4xy2Ou0/1ZZwK8rZgdeZkr N3JxcTBl9dZkArytGDew5Jh5qpEd5y7n8L8tyTzb3F5xO6VJypt9PfQ9yPcuv3BtEnU9LZk2 whuVCoKxI/NOEZGbbtA5xKlyVvgPa7Yl06aZPa/3dAfAr7aWnuHxBmUqWvcAbyu27C9JXnPz i9nxSxrPNXfA0sKEMxezCW5kp69LpYLRL3tiaW6Cq6MZgXWtiDuVSdsWDpW6XkpVtN87tHKg Q6u7sTUPsOH0+Wy2HUgjpHHJenUOceLduee5dbsAJ7uSIRlbD6TxQmtHVH+6SlBQUMzUN2vj 6mjG003tSLyex+qtyfyrfckVu8ra77ZWGmytwN6m5L9Qd2ezMmUq63hWorKOHyW/ncqiVqtw dzajqKj8q0JKj+eiIh0Tviw5Rr4c7ytvqxVC/GMp6pbYsmULHh4erFixgjFjxpCUlMS3335r kLgXFxdz8uRJnnvuOf286tWrExBgOJYxLi6Otm3bGsxr3769PrFt2bIlp0+fJjc3l927d/Pq q6+yc+dOCgoKOHHiBEFBQfrlvL29sbKy0k9Xq1aNGzcML4Hn5+eTnp6u/+Tnl30iga2tLTY2 Jb13dnZ2qFQqrKys9D3iFcWsVP369SkqKmLQoEHs3LmTO3fulIl179699O7dG9WfMpJnnnmG M2fOkJeXZ9R6KREUFMTixYtJSkri3Xff5X//+x+enp7ExMQ8VH3lsbJUo/3jhj4rSzUqFViY m5CdW3Jp+8zFbJr52xgs07y+zQN7DB+kdg0Liot1fPTNJY6czixz6bygUMfxc3do28LBIPFr XM+aS9dyKSjUGZTNyi7Sf/78nZIyxTq4cDWXpn9aL2d7U2pXtzCoo6J1D/DWcvFaLvkFxRw9 k8W0RZeIO5NJYZGOhMs5BNS5+zuo4WJu0OPoZGdK6m3DqypK1ksJJfVUtN/zC4pZ8sM1Xn7/ FB2GHeXZ139lV1w6aRkF+jpaNbTF1krNtgMlQytOJtwhKSWPTiGOBm3VcDXH1fFuIt3Uz5or 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 CCGEEFKD/we/xj7alu3MswAAAABJRU5ErkJggg== --------------070201000508070105040803-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 May 2015 02:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143208853115052 (code B ref 20385); Wed, 20 May 2015 02:23:02 +0000 Received: (at 20385) by debbugs.gnu.org; 20 May 2015 02:22:11 +0000 Received: from localhost ([127.0.0.1]:50483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yute6-0003ui-A3 for submit@debbugs.gnu.org; Tue, 19 May 2015 22:22:10 -0400 Received: from mail-wg0-f51.google.com ([74.125.82.51]:34623) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yute3-0003uU-VV for 20385@debbugs.gnu.org; Tue, 19 May 2015 22:22:08 -0400 Received: by wghq2 with SMTP id q2so37380672wgh.1 for <20385@debbugs.gnu.org>; Tue, 19 May 2015 19:22:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=QUJonf9aBiIjY+nRhk9rUDsFzjCdHy/DWkJ6pATuhNs=; b=yz9IUPF2FrS+Fdp5u5SI/jXdsAMd8Ohm1su+M3uDgev7G8qGDhroXJVvm1vZRmasVC 2P7R7iuRH04R+/yIVz55F3DEAjPqdHPTptE+qZlHWQfDki793W9yFaa0OAbfmQQ+2yho Jlv5F+mPo1PNQH56QPw6FG1CNlW+uz4J3EeWmCDykSGvxSkImQX303uVs9lFGmaL3QbR WWXix4AQ/PQjJ8sPkhiuJezis/Sf3ZbcpNbbuNUGL9NrwgeiJBl4e6zQH1TkJMjeUery j5HGxQKFCy9izLoT0jJ/5eSxZuzuJTntfLF4f1WBeuN3vmTCFxk6Xo/ETWnWs1RPzyqW 788g== X-Received: by 10.194.76.73 with SMTP id i9mr61046748wjw.149.1432088522405; Tue, 19 May 2015 19:22:02 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id u6sm24358929wjy.13.2015.05.19.19.22.01 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 May 2015 19:22:02 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> <5556FF7E.8070006@yandex.ru> <555BC6F6.8020305@cs.ucla.edu> From: Dmitry Gutov Message-ID: <555BEFC8.3080307@yandex.ru> Date: Wed, 20 May 2015 05:22:00 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <555BC6F6.8020305@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/20/2015 02:27 AM, Paul Eggert wrote: > OK, I tried that, but it didn't work for me. The attached patch works > much of the time, but it causes annoying glitches on the screen (for an > example see attached, created by "emacs -Q" and 'C-h b'; note the red > color glitch after the double-quote). That's how a string is highlighted. :) You can press C-u C-x = to see which face is used there. So apparently, font-lock-add-keywords turns on font-lock-mode, and since it's never set up in help-mode otherwise, syntactic fontification is used (and " is a string delimiter in the standard syntax table). Adding this (t is the key) before the call resolves that: (setq font-lock-defaults '(nil t)) But in a major mode, I think you're expected to apply all font-lock settings via setting font-lock-defaults, not by using font-lock-add-keywords (the format of keywords is the same). > Even if I ignore the glitches, I found it disconcerting that the "wrong" > characters were used to display text characters (or, from another point > of view, that the buffer's contents were "wrong" compared to what was on > the screen). That shouldn't matter much in a read-only buffer... > So I'm inclined to do something less tricky, e.g., simply > replace characters in the *Help* buffer before displaying the buffer. I > plan to look into that next. ...but indeed, this approach could be the simpler one. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 May 2015 07:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143219293016557 (code B ref 20385); Thu, 21 May 2015 07:23:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 May 2015 07:22:10 +0000 Received: from localhost ([127.0.0.1]:51687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvKnx-0004Iy-Sk for submit@debbugs.gnu.org; Thu, 21 May 2015 03:22:10 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:47365) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvKnu-0004IT-Ql for 20385@debbugs.gnu.org; Thu, 21 May 2015 03:22:07 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 2B9E8A60001; Thu, 21 May 2015 00:21:57 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZvjGjddbXF-J; Thu, 21 May 2015 00:21:53 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id CFA2E39E8014; Thu, 21 May 2015 00:21:52 -0700 (PDT) Message-ID: <555D8790.6030405@cs.ucla.edu> Date: Thu, 21 May 2015 00:21:52 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> <5556FF7E.8070006@yandex.ru> <555BC6F6.8020305@cs.ucla.edu> <555BEFC8.3080307@yandex.ru> In-Reply-To: <555BEFC8.3080307@yandex.ru> Content-Type: multipart/mixed; boundary="------------090309040807000200070508" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------090309040807000200070508 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Dmitry Gutov wrote: > ...but indeed, this approach could be the simpler one. I hacked at this a bit, and found that the simpler approach also was better at not curving quotes that shouldn't be curved. For example, describe-variable should curve the quotes in the doc string, but not in the contents of the variable. I'm sure this could all be done with font locking but it's simpler to just edit the characters. And I found a reasonably simple way to put it in, namely, to modify substitute-command-keys so that it substitutes quotes as well, with a simple rule that can be done in one pass with only auxiliary boolean flag. Revised patches are attached. The first one changes substitute-command-keys. The second one changes the rest of the infrastructure to match; it contains the bulk of the previously-proposed changes. And the third one updates a few doc strings, mostly so that ` isn't turned into ‘ when it's really intended to be a grave accent. --------------090309040807000200070508 Content-Type: text/plain; charset=UTF-8; name="0001-substitute-command-keys-now-curves-quotes.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-substitute-command-keys-now-curves-quotes.txt" RnJvbSAxMjM2MTUxNzQ5MzBjNzNiZGYzYTQwMGFkMGQ0NWFmYmNmNTEzMTZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDIwIE1heSAyMDE1IDIyOjMyOjM4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzNdIHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzIG5vdyBjdXJ2ZXMgcXVvdGVzCk1JTUUt VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpTbywgZm9yIGV4YW1wbGUsIGl0IHR1 cm5zICJgYWJjJyIgaW50byAi4oCYYWJj4oCZIiAoQnVnIzIwMzg1KS4KKiBkb2MvbGlzcHJl Zi9oZWxwLnRleGkgKEtleXMgaW4gRG9jdW1lbnRhdGlvbik6CiogZXRjL05FV1M6IERvY3Vt ZW50IHRoaXMuCiogc3JjL2RvYy5jIChGc3Vic3RpdHV0ZV9jb21tYW5kX2tleXMpOiBJbXBs ZW1lbnQgaXQuCi0tLQogZG9jL2xpc3ByZWYvaGVscC50ZXhpIHwgMjIgKysrKysrKysrKysr KysrLS0tLS0tLQogZXRjL05FV1MgICAgICAgICAgICAgIHwgIDYgKysrKysrCiBzcmMvZG9j LmMgICAgICAgICAgICAgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xpc3ByZWYvaGVscC50ZXhpIGIvZG9jL2xpc3ByZWYv aGVscC50ZXhpCmluZGV4IDg2OGQyODQuLmNlMjlmM2YgMTAwNjQ0Ci0tLSBhL2RvYy9saXNw cmVmL2hlbHAudGV4aQorKysgYi9kb2MvbGlzcHJlZi9oZWxwLnRleGkKQEAgLTMxOCwxMCAr MzE4LDE4IEBAIHN0YW5kcyBmb3Igbm8gdGV4dCBpdHNlbGYuICBJdCBpcyB1c2VkIG9ubHkg Zm9yIGEgc2lkZSBlZmZlY3Q6IGl0CiBzcGVjaWZpZXMgQHZhcnttYXB2YXJ9J3MgdmFsdWUg YXMgdGhlIGtleW1hcCBmb3IgYW55IGZvbGxvd2luZwogQHNhbXB7XFtAdmFye2NvbW1hbmR9 XX0gc2VxdWVuY2VzIGluIHRoaXMgZG9jdW1lbnRhdGlvbiBzdHJpbmcuCiAKK0BpdGVtIGAK KyhncmF2ZSBhY2NlbnQpIHN0YW5kcyBmb3IgYSBsZWZ0IHNpbmdsZSBxdW90YXRpb24gbWFy ayAoQHNhbXB74oCYfSkuCisKK0BpdGVtICcKKyhhcG9zdHJvcGhlKSBzdGFuZHMgZm9yIGEg cmlnaHQgc2luZ2xlIHF1b3RhdGlvbiBtYXJrIChAc2FtcHvigJl9KSBpZgorcHJlY2VkZWQg YnkgZ3JhdmUgYWNjZW50IGFuZCB0aGVyZSBhcmUgbm8gaW50ZXJ2ZW5pbmcgYXBvc3Ryb3Bo ZXMuCitPdGhlcndpc2UsIGFwb3N0cm9waGUgc3RhbmRzIGZvciBpdHNlbGYuCisKIEBpdGVt IFw9Ci1xdW90ZXMgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIgYW5kIGlzIGRpc2NhcmRlZDsg dGh1cywgQHNhbXB7XD1cW30gcHV0cwotQHNhbXB7XFt9IGludG8gdGhlIG91dHB1dCwgYW5k IEBzYW1we1w9XD19IHB1dHMgQHNhbXB7XD19IGludG8gdGhlCi1vdXRwdXQuCitxdW90ZXMg dGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIgYW5kIGlzIGRpc2NhcmRlZDsgdGh1cywgQHNhbXB7 XD1gfSBwdXRzCitAc2FtcHtgfSBpbnRvIHRoZSBvdXRwdXQsIEBzYW1we1w9XFt9IHB1dHMg QHNhbXB7XFt9IGludG8gdGhlIG91dHB1dCwKK2FuZCBAc2FtcHtcPVw9fSBwdXRzIEBzYW1w e1w9fSBpbnRvIHRoZSBvdXRwdXQuCiBAZW5kIHRhYmxlCiAKIEBzdHJvbmd7UGxlYXNlIG5v dGU6fSBFYWNoIEBzYW1we1x9IG11c3QgYmUgZG91YmxlZCB3aGVuIHdyaXR0ZW4gaW4gYQpA QCAtMzU0LDggKzM2Miw4IEBAIHNwZWNpZmllcyBhIGtleSBiaW5kaW5nIHRoYXQgdGhlIGNv bW1hbmQgZG9lcyBub3QgYWN0dWFsbHkgaGF2ZS4KIEBzbWFsbGV4YW1wbGUKIEBncm91cAog KHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzCi0gICAiVG8gYWJvcnQgcmVjdXJzaXZlIGVkaXQs IHR5cGU6IFxcW2Fib3J0LXJlY3Vyc2l2ZS1lZGl0XSIpCi1AcmVzdWx0e30gIlRvIGFib3J0 IHJlY3Vyc2l2ZSBlZGl0LCB0eXBlOiBDLV0iCisgICAiVG8gYWJvcnQgcmVjdXJzaXZlIGVk aXQsIHR5cGUg4oCYXFxbYWJvcnQtcmVjdXJzaXZlLWVkaXRd4oCZLiIpCitAcmVzdWx0e30g IlRvIGFib3J0IHJlY3Vyc2l2ZSBlZGl0LCB0eXBlIOKAmEMtXeKAmS4iCiBAZW5kIGdyb3Vw CiAKIEBncm91cApAQCAtMzc2LDggKzM4NCw4IEBAIEMtZyAgICAgICAgICAgICBhYm9ydC1y ZWN1cnNpdmUtZWRpdAogQGdyb3VwCiAoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMKICAgICJU byBhYm9ydCBhIHJlY3Vyc2l2ZSBlZGl0IGZyb20gdGhlIG1pbmlidWZmZXIsIHR5cGVcCi1c XDxtaW5pYnVmZmVyLWxvY2FsLW11c3QtbWF0Y2gtbWFwPlxcW2Fib3J0LXJlY3Vyc2l2ZS1l ZGl0XS4iKQotQHJlc3VsdHt9ICJUbyBhYm9ydCBhIHJlY3Vyc2l2ZSBlZGl0IGZyb20gdGhl IG1pbmlidWZmZXIsIHR5cGUgQy1nLiIKK2BcXDxtaW5pYnVmZmVyLWxvY2FsLW11c3QtbWF0 Y2gtbWFwPlxcW2Fib3J0LXJlY3Vyc2l2ZS1lZGl0XScuIikKK0ByZXN1bHR7fSAiVG8gYWJv cnQgYSByZWN1cnNpdmUgZWRpdCBmcm9tIHRoZSBtaW5pYnVmZmVyLCB0eXBlIOKAmEMtZ+KA mS4iCiBAZW5kIGdyb3VwCiBAZW5kIHNtYWxsZXhhbXBsZQogCmRpZmYgLS1naXQgYS9ldGMv TkVXUyBiL2V0Yy9ORVdTCmluZGV4IDI1NDA3NTYuLmNlMDg4ODEgMTAwNjQ0Ci0tLSBhL2V0 Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC03ODEsNiArNzgxLDEyIEBAIHdoZW4gc2lnbmFs aW5nIGEgZmlsZSBlcnJvci4gIEZvciBleGFtcGxlLCBpdCBub3cgcmVwb3J0cyAiUGVybWlz c2lvbgogZGVuaWVkIiBpbnN0ZWFkIG9mICJwZXJtaXNzaW9uIGRlbmllZCIuICBUaGUgb2xk IGJlaGF2aW9yIHdhcyBwcm9ibGVtYXRpYwogaW4gbGFuZ3VhZ2VzIGxpa2UgR2VybWFuIHdo ZXJlIGRvd25jYXNpbmcgcnVsZXMgZGVwZW5kIG9uIGdyYW1tYXIuCiAKKyoqIChzdWJzdGl0 dXRlLWNvbW1hbmQta2V5cyAiYGZvbyciKSBub3cgcmV0dXJucyAi4oCYZm9v4oCZIi4KK1Ro YXQgaXMsIGl0IHJlcGxhY2VzIGdyYXZlIGFjY2VudHMgYnkgbGVmdCBzaW5nbGUgcXVvdGF0 aW9uIG1hcmtzLCBhbmQKK2Fwb3N0cm9waGVzIHRoYXQgbWF0Y2ggZ3JhdmUgYWNjZW50cyBi eSByaWdodCBzaW5nbGUgcXVvdGF0aW9uIG1hcmtzLgorQXMgYmVmb3JlLCBpc29sYXRlZCBh cG9zdHJvcGhlcyBhbmQgY2hhcmFjdGVycyBwcmVjZWRlZCBieSBcPSBhcmUKK291dHB1dCBh cy1pcy4KKwogKysrCiAqKiBUaGUgY2hhcmFjdGVyIGNsYXNzZXMgWzphbHBoYTpdIGFuZCBb OmFsbnVtOl0gaW4gcmVndWxhciBleHByZXNzaW9ucwogbm93IG1hdGNoIG11bHRpYnl0ZSBj aGFyYWN0ZXJzIHVzaW5nIFVuaWNvZGUgY2hhcmFjdGVyIHByb3BlcnRpZXMuCmRpZmYgLS1n aXQgYS9zcmMvZG9jLmMgYi9zcmMvZG9jLmMKaW5kZXggOGIxOGZiMC4uMzJkNjU1NiAxMDA2 NDQKLS0tIGEvc3JjL2RvYy5jCisrKyBiL3NyYy9kb2MuYwpAQCAtNjkzLDE1ICs2OTMsMjEg QEAgc3VtbWFyeSkuCiAKIEVhY2ggc3Vic3RyaW5nIG9mIHRoZSBmb3JtIFxcPVxcPE1BUFZB Uj4gc3BlY2lmaWVzIHRoZSB1c2Ugb2YgTUFQVkFSCiBhcyB0aGUga2V5bWFwIGZvciBmdXR1 cmUgXFw9XFxbQ09NTUFORF0gc3Vic3RyaW5ncy4KLVxcPVxcPSBxdW90ZXMgdGhlIGZvbGxv d2luZyBjaGFyYWN0ZXIgYW5kIGlzIGRpc2NhcmRlZDsKLXRodXMsIFxcPVxcPVxcPVxcPSBw dXRzIFxcPVxcPSBpbnRvIHRoZSBvdXRwdXQsIGFuZCBcXD1cXD1cXD1cXFsgcHV0cyBcXD1c XFsgaW50byB0aGUgb3V0cHV0LgorCitFYWNoIFxcPWAgaXMgcmVwbGFjZWQgYnkg4oCYLiAg RWFjaCAnIHByZWNlZGVkIGJ5IFxcPWAgYW5kIHdpdGhvdXQKK2ludGVydmVuaW5nICcgaXMg cmVwbGFjZWQgYnkg4oCZLgorCitcXD1cXD0gcXVvdGVzIHRoZSBmb2xsb3dpbmcgY2hhcmFj dGVyIGFuZCBpcyBkaXNjYXJkZWQ7IHRodXMsCitcXD1cXD1cXD1cXD0gcHV0cyBcXD1cXD0g aW50byB0aGUgb3V0cHV0LCBcXD1cXD1cXD1cXFsgcHV0cyBcXD1cXFsgaW50byB0aGUgb3V0 cHV0LCBhbmQKK1xcPVxcPVxcPWAgcHV0cyBcXD1gIGludG8gdGhlIG91dHB1dC4KIAogUmV0 dXJuIHRoZSBvcmlnaW5hbCBTVFJJTkcgaWYgbm8gc3Vic3RpdHV0aW9ucyBhcmUgbWFkZS4K IE90aGVyd2lzZSwgcmV0dXJuIGEgbmV3IHN0cmluZy4gICovKQogICAoTGlzcF9PYmplY3Qg c3RyaW5nKQogewogICBjaGFyICpidWY7Ci0gIGJvb2wgY2hhbmdlZCA9IDA7CisgIGJvb2wg Y2hhbmdlZCA9IGZhbHNlOworICBib29sIGluX3F1b3RlID0gZmFsc2U7CiAgIHVuc2lnbmVk IGNoYXIgKnN0cnA7CiAgIGNoYXIgKmJ1ZnA7CiAgIHB0cmRpZmZfdCBpZHg7CkBAIC03MzQs NiArNzQwLDEyIEBAIE90aGVyd2lzZSwgcmV0dXJuIGEgbmV3IHN0cmluZy4gICovKQogICBr ZXltYXAgPSBWb3ZlcnJpZGluZ19sb2NhbF9tYXA7CiAKICAgYnNpemUgPSBTQllURVMgKHN0 cmluZyk7CisKKyAgLyogQWRkIHNvbWUgcm9vbSBmb3IgZXhwYW5zaW9uIGR1ZSB0byBxdW90 ZSByZXBsYWNlbWVudC4gICovCisgIGVudW0geyBFWFRSQV9ST09NID0gMjAgfTsKKyAgaWYg KGJzaXplIDw9IFNUUklOR19CWVRFU19CT1VORCAtIEVYVFJBX1JPT00pCisgICAgYnNpemUg Kz0gRVhUUkFfUk9PTTsKKwogICBidWZwID0gYnVmID0geG1hbGxvYyAoYnNpemUpOwogCiAg IHN0cnAgPSBTREFUQSAoc3RyaW5nKTsKQEAgLTc0Myw3ICs3NTUsNyBAQCBPdGhlcndpc2Us IHJldHVybiBhIG5ldyBzdHJpbmcuICAqLykKIAl7CiAJICAvKiBcPSBxdW90ZXMgdGhlIG5l eHQgY2hhcmFjdGVyOwogCSAgICAgdGh1cywgdG8gcHV0IGluIFxbIHdpdGhvdXQgaXRzIHNw ZWNpYWwgbWVhbmluZywgdXNlIFw9XFsuICAqLwotCSAgY2hhbmdlZCA9IDE7CisJICBjaGFu Z2VkID0gdHJ1ZTsKIAkgIHN0cnAgKz0gMjsKIAkgIGlmIChtdWx0aWJ5dGUpCiAJICAgIHsK QEAgLTc2Niw3ICs3NzgsNiBAQCBPdGhlcndpc2UsIHJldHVybiBhIG5ldyBzdHJpbmcuICAq LykKIAkgIHB0cmRpZmZfdCBzdGFydF9pZHg7CiAJICBib29sIGZvbGxvd19yZW1hcCA9IDE7 CiAKLQkgIGNoYW5nZWQgPSAxOwogCSAgc3RycCArPSAyOwkJLyogc2tpcCBcWyAqLwogCSAg c3RhcnQgPSBzdHJwOwogCSAgc3RhcnRfaWR4ID0gc3RhcnQgLSBTREFUQSAoc3RyaW5nKTsK QEAgLTgzMyw3ICs4NDQsNiBAQCBPdGhlcndpc2UsIHJldHVybiBhIG5ldyBzdHJpbmcuICAq LykKIAkgIExpc3BfT2JqZWN0IGVhcmxpZXJfbWFwczsKIAkgIHB0cmRpZmZfdCBjb3VudCA9 IFNQRUNQRExfSU5ERVggKCk7CiAKLQkgIGNoYW5nZWQgPSAxOwogCSAgc3RycCArPSAyOwkJ Lyogc2tpcCBceyBvciBcPCAqLwogCSAgc3RhcnQgPSBzdHJwOwogCSAgc3RhcnRfaWR4ID0g c3RhcnQgLSBTREFUQSAoc3RyaW5nKTsKQEAgLTkwMyw2ICs5MTMsNyBAQCBPdGhlcndpc2Us IHJldHVybiBhIG5ldyBzdHJpbmcuICAqLykKIAkgIGxlbmd0aCA9IFNDSEFSUyAodGVtKTsK IAkgIGxlbmd0aF9ieXRlID0gU0JZVEVTICh0ZW0pOwogCXN1YnN0OgorCSAgY2hhbmdlZCA9 IHRydWU7CiAJICB7CiAJICAgIHB0cmRpZmZfdCBvZmZzZXQgPSBidWZwIC0gYnVmOwogCSAg ICBpZiAoU1RSSU5HX0JZVEVTX0JPVU5EIC0gbGVuZ3RoX2J5dGUgPCBic2l6ZSkKQEAgLTkx Niw2ICs5MjcsMjIgQEAgT3RoZXJ3aXNlLCByZXR1cm4gYSBuZXcgc3RyaW5nLiAgKi8pCiAJ ICAgIHN0cnAgPSBTREFUQSAoc3RyaW5nKSArIGlkeDsKIAkgIH0KIAl9CisgICAgICBlbHNl IGlmIChzdHJwWzBdID09ICdgJykKKwl7CisJICBpbl9xdW90ZSA9IHRydWU7CisJICBzdGFy dCA9ICh1bnNpZ25lZCBjaGFyICopICJceEUyXHg4MFx4OTgiOyAvKiDigJggKi8KKwlzdWJz dF9xdW90ZToKKwkgIGxlbmd0aCA9IDE7CisJICBsZW5ndGhfYnl0ZSA9IDM7CisJICBpZHgg PSBzdHJwIC0gU0RBVEEgKHN0cmluZykgKyAxOworCSAgZ290byBzdWJzdDsKKwl9CisgICAg ICBlbHNlIGlmIChzdHJwWzBdID09ICdcJycgJiYgaW5fcXVvdGUpCisJeworCSAgaW5fcXVv dGUgPSBmYWxzZTsKKwkgIHN0YXJ0ID0gKHVuc2lnbmVkIGNoYXIgKikgIlx4RTJceDgwXHg5 OSI7IC8qIOKAmSAqLworCSAgZ290byBzdWJzdF9xdW90ZTsKKwl9CiAgICAgICBlbHNlIGlm ICghIG11bHRpYnl0ZSkJCS8qIGp1c3QgY29weSBvdGhlciBjaGFycyAqLwogCSpidWZwKysg PSAqc3RycCsrLCBuY2hhcnMrKzsKICAgICAgIGVsc2UKLS0gCjIuMS4wCgo= --------------090309040807000200070508 Content-Type: text/plain; charset=UTF-8; name="0002-Support-curved-quotes-in-doc-strings.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Support-curved-quotes-in-doc-strings.txt" RnJvbSA3MTVkNmYxZmMzMGRkMzA5ODJlZjZkMDNmYzNlYzYxYjgyNmY5NTEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDIwIE1heSAyMDE1IDIzOjUyOjM1IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzNdIFN1cHBvcnQgY3VydmVkIHF1b3RlcyBpbiBkb2Mgc3RyaW5ncwpNSU1FLVZlcnNp b246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKRW1hY3MncyB0cmFkaXRpb25hbCBkb2Mgc3Ry aW5nIHN0eWxlIGhhcyBiZWVuIHRvIHF1b3RlIHN5bWJvbHMKYGxpa2UgdGhpcycuICBUaGlz IHdvcmtlZCB3ZWxsIG9uIG5vdy1vYnNvbGV0ZSB0ZXJtaW5hbHMgd2hlcmUKYCBhbmQgJyB3 ZXJlIHN5bW1ldHJpYyBxdW90ZXMsIGJ1dCBub3dhZGF5cyBjdXJ2ZWQgcXVvdGVzCuKAmGxp a2UgdGhpc+KAmSBsb29rIGJldHRlci4gIFN1cHBvcnQgcXVvdGluZyB0aGUgbmV3IHdheSB0 b28uCihCdWcjMjAzODUpCiogZG9jL2xpc3ByZWYvdGlwcy50ZXhpIChEb2N1bWVudGF0aW9u IFRpcHMpOiBTeW1ib2xzIGNhbiBiZSBxdW90ZWQK4oCYbGlrZS10aGlz4oCZIGFzIHdlbGwg YXMgYGxpa2UtdGhpcycuCiogZXRjL05FV1M6IE1lbnRpb24gdGhpcy4KKiBsaXNwL2NlZGV0 L21vZGUtbG9jYWwuZWwgKG92ZXJsb2FkLWRvY3N0cmluZy1leHRlbnNpb24pCihtb2RlLWxv Y2FsLXByaW50LWJpbmRpbmcsIG1vZGUtbG9jYWwtZGVzY3JpYmUtYmluZGluZ3MtMik6Ciog bGlzcC9jdXMtdGhlbWUuZWwgKGRlc2NyaWJlLXRoZW1lLTEpOgoqIGxpc3AvZGVzY3ItdGV4 dC5lbCAoZGVzY3JpYmUtdGV4dC1wcm9wZXJ0aWVzLTEsIGRlc2NyaWJlLWNoYXIpOgoqIGxp c3AvZW1hY3MtbGlzcC9jaGVja2RvYy5lbCAoY2hlY2tkb2MtdGhpcy1zdHJpbmctdmFsaWQt ZW5naW5lKToKKiBsaXNwL2VtYWNzLWxpc3AvY2wtZ2VuZXJpYy5lbCAoY2wtLWdlbmVyaWMt ZGVzY3JpYmUpOgoqIGxpc3AvZW1hY3MtbGlzcC9laWVpby1vcHQuZWwgKGVpZWlvLWhlbHAt Y2xhc3MpCihlaWVpby1oZWxwLWNvbnN0cnVjdG9yKToKKiBsaXNwL2VtYWNzLWxpc3AvcGFj a2FnZS5lbCAoZGVzY3JpYmUtcGFja2FnZS0xKToKKiBsaXNwL2ZhY2VzLmVsIChkZXNjcmli ZS1mYWNlKToKKiBsaXNwL2hlbHAtZm5zLmVsIChoZWxwLWZucy0ta2V5LWJpbmRpbmdzKQoo aGVscC1mbnMtLWNvbXBpbGVyLW1hY3JvLCBoZWxwLWZucy0tcGFyZW50LW1vZGUsIGhlbHAt Zm5zLS1vYnNvbGV0ZSk6CihoZWxwLWZucy0taW50ZXJhY3RpdmUtb25seSwgZGVzY3JpYmUt ZnVuY3Rpb24tMSk6CihkZXNjcmliZS12YXJpYWJsZSk6CiogbGlzcC9oZWxwLmVsIChkZXNj cmliZS1tb2RlKToKKiBsaXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsIChkZXNjcmli ZS1pbnB1dC1tZXRob2QpCihkZXNjcmliZS1sYW5ndWFnZS1lbnZpcm9ubWVudCk6CiogbGlz cC9pbnRlcm5hdGlvbmFsL211bGUtZGlhZy5lbCAoZGVzY3JpYmUtY2hhcmFjdGVyLXNldCkK KHByaW50LWNvZGluZy1zeXN0ZW0tYnJpZWZseSwgbGlzdC1pbnB1dC1tZXRob2RzKQoobGlz dC1pbnB1dC1tZXRob2RzLTEpOgpJbnNlcnQgY3VydmVkIHF1b3RlcyByYXRoZXIgdGhhbiBn cmF2ZSBhY2NlbnQgYW5kIGFwb3N0cm9waGUuCiogbGlzcC9jZWRldC9zcmVjb2RlL3RleGku ZWwgKHNyZWNvZGUtdGV4aS10ZXhpZnktZG9jc3RyaW5nKToKKiBsaXNwL2VtYWNzLWxpc3Av Y2hlY2tkb2MuZWwgKGNoZWNrZG9jLXRoaXMtc3RyaW5nLXZhbGlkLWVuZ2luZSkKKGNoZWNr ZG9jLXByb3Blci1ub3VuLXJlZ2lvbi1lbmdpbmUpOgoqIGxpc3AvZW1hY3MtbGlzcC9saXNw LW1vZGUuZWwgKGxpc3AtZWwtZm9udC1sb2NrLWtleXdvcmRzLTIpCihsaXNwLWNsLWZvbnQt bG9jay1rZXl3b3Jkcy0yKToKKiBsaXNwL2ZpbmRlci5lbCAoZmluZGVyLWZvbnQtbG9jay1r ZXl3b3Jkcyk6CiogbGlzcC9nbnVzL2dudXMtYXJ0LmVsIChnbnVzLWJ1dHRvbi1hbGlzdCk6 CiogbGlzcC9oZWxwLWZucy5lbCAoaGVscC1kby1hcmctaGlnaGxpZ2h0KQooZGVzY3JpYmUt ZnVuY3Rpb24tMSwgZGVzY3JpYmUtdmFyaWFibGUpOgoqIGxpc3AvaGVscC1tb2RlLmVsICho ZWxwLXhyZWYtc3ltYm9sLXJlZ2V4cCkKKGhlbHAteHJlZi1pbmZvLXJlZ2V4cCwgaGVscC14 cmVmLXVybC1yZWdleHApOgoqIGxpc3AvaGVscC5lbCAoZGVzY3JpYmUtbW9kZSk6CiogbGlz cC9pbnRlcm5hdGlvbmFsL211bGUtY21kcy5lbCAoaGVscC14cmVmLW11bGUtcmVnZXhwLXRl bXBsYXRlKToKKiBsaXNwL3dpZC1lZGl0LmVsICh3aWRnZXQtZG9jdW1lbnRhdGlvbi1saW5r LXJlZ2V4cCk6ClBhcnNlIHN5bWJvbHMgcXVvdGVkIOKAmGxpa2UtdGhpc+KAmSBhcyB3ZWxs IGFzIGBsaWtlLXRoaXMnLgoqIGxpc3AvcHJvZ21vZGVzL2VsaXNwLW1vZGUuZWwgKGVtYWNz LWxpc3AtbW9kZSk6CkFkZCAi4oCYIiBhbmQgIuKAmSIgdG8gZWxlY3RyaWMtcGFpci10ZXh0 LXBhaXJzLgooZWxpc3AtLWZvcm0tcXVvdGVkLXApOiBBbHNvIGFsbG93ICLigJgiIGFzIGEg cXVvdGluZyBjaGFyLgooZWxpc3AtY29tcGxldGlvbi1hdC1wb2ludCwgZWxpc3AtLXByZWNl ZGluZy1zZXhwKToKQWxzbyB0cmVhdCAi4oCYIiBhbmQgIuKAmSIgYXMgcXVvdGluZyBjaGFy cy4KLS0tCiBkb2MvbGlzcHJlZi90aXBzLnRleGkgICAgICAgICAgIHwgMzUgKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgICAgICAgIHwg IDYgKysrKysKIGxpc3AvY2VkZXQvbW9kZS1sb2NhbC5lbCAgICAgICAgfCAxNyArKysrKysr LS0tLS0tLQogbGlzcC9jZWRldC9zcmVjb2RlL3RleGkuZWwgICAgICB8ICAyICstCiBsaXNw L2N1cy10aGVtZS5lbCAgICAgICAgICAgICAgIHwgIDYgKystLS0KIGxpc3AvZGVzY3ItdGV4 dC5lbCAgICAgICAgICAgICAgfCAgNiArKy0tLQogbGlzcC9lbWFjcy1saXNwL2NoZWNrZG9j LmVsICAgICB8IDIwICsrKysrKysrKy0tLS0tLS0KIGxpc3AvZW1hY3MtbGlzcC9jbC1nZW5l cmljLmVsICAgfCAgNCArKy0tCiBsaXNwL2VtYWNzLWxpc3AvZWllaW8tb3B0LmVsICAgIHwg MjAgKysrKysrKystLS0tLS0tLQogbGlzcC9lbWFjcy1saXNwL2xpc3AtbW9kZS5lbCAgICB8 ICA4ICsrKy0tLS0KIGxpc3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsICAgICAgfCAgNiArKy0t LQogbGlzcC9mYWNlcy5lbCAgICAgICAgICAgICAgICAgICB8IDE1ICsrKysrKy0tLS0tLQog bGlzcC9maW5kZXIuZWwgICAgICAgICAgICAgICAgICB8ICAyICstCiBsaXNwL2dudXMvZ251 cy1hcnQuZWwgICAgICAgICAgIHwgIDggKysrLS0tLQogbGlzcC9oZWxwLWZucy5lbCAgICAg ICAgICAgICAgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tCiBsaXNwL2hlbHAtbW9kZS5lbCAgICAgICAgICAgICAgIHwgIDcgKysrLS0tCiBsaXNw L2hlbHAuZWwgICAgICAgICAgICAgICAgICAgIHwgIDUgKystLQogbGlzcC9pbnRlcm5hdGlv bmFsL211bGUtY21kcy5lbCB8IDExICsrKysrLS0tLQogbGlzcC9pbnRlcm5hdGlvbmFsL211 bGUtZGlhZy5lbCB8IDE1ICsrKysrKy0tLS0tLQogbGlzcC9wcm9nbW9kZXMvZWxpc3AtbW9k ZS5lbCAgICB8IDI0ICsrKysrKysrKystLS0tLS0tLS0KIGxpc3Avd2lkLWVkaXQuZWwgICAg ICAgICAgICAgICAgfCAgMiArLQogMjEgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMo KyksIDEyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi90aXBzLnRl eGkgYi9kb2MvbGlzcHJlZi90aXBzLnRleGkKaW5kZXggY2MxZjBlNC4uNzk4YjY3MCAxMDA2 NDQKLS0tIGEvZG9jL2xpc3ByZWYvdGlwcy50ZXhpCisrKyBiL2RvYy9saXNwcmVmL3RpcHMu dGV4aQpAQCAtNjU4LDE3ICs2NTgsMjIgQEAgc3RhcnRpbmcgZG91YmxlLXF1b3RlIGlzIG5v dCBwYXJ0IG9mIHRoZSBzdHJpbmchCiBAYW5jaG9ye0RvY3N0cmluZyBoeXBlcmxpbmtzfQog QGl0ZW0KIFdoZW4gYSBkb2N1bWVudGF0aW9uIHN0cmluZyByZWZlcnMgdG8gYSBMaXNwIHN5 bWJvbCwgd3JpdGUgaXQgYXMgaXQKLXdvdWxkIGJlIHByaW50ZWQgKHdoaWNoIHVzdWFsbHkg bWVhbnMgaW4gbG93ZXIgY2FzZSksIHdpdGggYSBncmF2ZQotYWNjZW50IEBzYW1we2B9IGJl Zm9yZSBhbmQgYXBvc3Ryb3BoZSBAc2FtcHsnfSBhZnRlciBpdC4gIFRoZXJlIGFyZQord291 bGQgYmUgcHJpbnRlZCAod2hpY2ggdXN1YWxseSBtZWFucyBpbiBsb3dlciBjYXNlKSwgc3Vy cm91bmRpbmcKK2l0IHdpdGggY3VydmVkIHNpbmdsZSBxdW90ZXMgKEBzYW1we+KAmH0gYW5k IEBzYW1we+KAmX0pLiAgVGhlcmUgYXJlCiB0d28gZXhjZXB0aW9uczogd3JpdGUgQGNvZGV7 dH0gYW5kIEBjb2Rle25pbH0gd2l0aG91dCBzdXJyb3VuZGluZwotcHVuY3R1YXRpb24uICBG b3IgZXhhbXBsZTogQHNhbXB7Q09ERSBjYW4gYmUgYGxhbWJkYScsIG5pbCwgb3IgdC59Ci0o SW4gdGhpcyBtYW51YWwsIHdlIHVzZSBhIGRpZmZlcmVudCBjb252ZW50aW9uLCB3aXRoIHNp bmdsZS1xdW90ZXMKLWFyb3VuZCBzeW1ib2xzLikKK3B1bmN0dWF0aW9uLiAgRm9yIGV4YW1w bGU6IEBzYW1we0NPREUgY2FuIGJlIOKAmGxhbWJkYeKAmSwgbmlsLCBvciB0Ln0KKworRG9j dW1lbnRhdGlvbiBzdHJpbmdzIGNhbiBhbHNvIHVzZSBhbiBvbGRlciBzaW5nbGUtcXVvdGlu ZyBjb252ZW50aW9uLAord2hpY2ggcXVvdGVzIHN5bWJvbHMgd2l0aCBncmF2ZSBhY2NlbnQg QHNhbXB7YH0gYW5kIGFwb3N0cm9waGUKK0BzYW1weyd9OiBAc2FtcHtgbGlrZS10aGlzJ30g cmF0aGVyIHRoYW4gQHNhbXB74oCYbGlrZS10aGlz4oCZfS4gIFRoaXMKK29sZGVyIGNvbnZl bnRpb24gd2FzIGRlc2lnbmVkIGZvciBub3ctb2Jzb2xldGUgZGlzcGxheXMgaW4gd2hpY2gg Z3JhdmUKK2FjY2VudCBhbmQgYXBvc3Ryb3BoZSB3ZXJlIG1pcnJvciBpbWFnZXMuICBEb2N1 bWVudGF0aW9uIGluIHRoaXMgb2xkZXIKK2NvbnZlbnRpb24gaXMgY29udmVydGVkIHRvIHRo ZSBzdGFuZGFyZCBjb252ZW50aW9uIHdoZW4gaXQgaXMgY29waWVkCitpbnRvIGEgaGVscCBi dWZmZXIuICBAeHJlZntLZXlzIGluIERvY3VtZW50YXRpb259LgogCiBAY2luZGV4IGh5cGVy bGlua3MgaW4gZG9jdW1lbnRhdGlvbiBzdHJpbmdzCiBIZWxwIG1vZGUgYXV0b21hdGljYWxs eSBjcmVhdGVzIGEgaHlwZXJsaW5rIHdoZW4gYSBkb2N1bWVudGF0aW9uIHN0cmluZwotdXNl cyBhIHN5bWJvbCBuYW1lIGJldHdlZW4gZ3JhdmUgYWNjZW50IGFuZCBhcG9zdHJvcGhlLCBp ZiB0aGUgc3ltYm9sCi1oYXMgZWl0aGVyIGEKK3VzZXMgYSBzaW5nbGUtcXVvdGVkIHN5bWJv bCBuYW1lLCBpZiB0aGUgc3ltYm9sIGhhcyBlaXRoZXIgYQogZnVuY3Rpb24gb3IgYSB2YXJp YWJsZSBkZWZpbml0aW9uLiAgWW91IGRvIG5vdCBuZWVkIHRvIGRvIGFueXRoaW5nCiBzcGVj aWFsIHRvIG1ha2UgdXNlIG9mIHRoaXMgZmVhdHVyZS4gIEhvd2V2ZXIsIHdoZW4gYSBzeW1i b2wgaGFzIGJvdGggYQogZnVuY3Rpb24gZGVmaW5pdGlvbiBhbmQgYSB2YXJpYWJsZSBkZWZp bml0aW9uLCBhbmQgeW91IHdhbnQgdG8gcmVmZXIgdG8KQEAgLTY3OCw3ICs2ODMsNyBAQCBp bW1lZGlhdGVseSBiZWZvcmUgdGhlIHN5bWJvbCBuYW1lLiAgKENhc2UgbWFrZXMgbm8gZGlm ZmVyZW5jZSBpbgogcmVjb2duaXppbmcgdGhlc2UgaW5kaWNhdG9yIHdvcmRzLikgIEZvciBl eGFtcGxlLCBpZiB5b3Ugd3JpdGUKIAogQGV4YW1wbGUKLVRoaXMgZnVuY3Rpb24gc2V0cyB0 aGUgdmFyaWFibGUgYGJ1ZmZlci1maWxlLW5hbWUnLgorVGhpcyBmdW5jdGlvbiBzZXRzIHRo ZSB2YXJpYWJsZSDigJhidWZmZXItZmlsZS1uYW1l4oCZLgogQGVuZCBleGFtcGxlCiAKIEBu b2luZGVudApAQCAtNjkxLDcgKzY5Niw3IEBAIHlvdSBjYW4gd3JpdGUgdGhlIHdvcmRzIEBz YW1we3N5bWJvbH0gb3IgQHNhbXB7cHJvZ3JhbX0gYmVmb3JlIHRoZQogc3ltYm9sIG5hbWUg dG8gcHJldmVudCBtYWtpbmcgYW55IGh5cGVybGluay4gIEZvciBleGFtcGxlLAogCiBAZXhh bXBsZQotSWYgdGhlIGFyZ3VtZW50IEtJTkQtT0YtUkVTVUxUIGlzIHRoZSBzeW1ib2wgYGxp c3QnLAorSWYgdGhlIGFyZ3VtZW50IEtJTkQtT0YtUkVTVUxUIGlzIHRoZSBzeW1ib2wg4oCY bGlzdOKAmSwKIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgYWxsIHRoZSBvYmpl Y3RzCiB0aGF0IHNhdGlzZnkgdGhlIGNyaXRlcmlvbi4KIEBlbmQgZXhhbXBsZQpAQCAtNzEw LDIxICs3MTUsMjEgQEAgZm9sbG93ZWQgYnkgdGhlIHdvcmQgQHNhbXB7ZmFjZX0uICBJbiB0 aGF0IGNhc2UsIG9ubHkgdGhlIGZhY2UKIGRvY3VtZW50YXRpb24gd2lsbCBiZSBzaG93biwg ZXZlbiBpZiB0aGUgc3ltYm9sIGlzIGFsc28gZGVmaW5lZCBhcyBhCiB2YXJpYWJsZSBvciBh cyBhIGZ1bmN0aW9uLgogCi1UbyBtYWtlIGEgaHlwZXJsaW5rIHRvIEluZm8gZG9jdW1lbnRh dGlvbiwgd3JpdGUgdGhlIG5hbWUgb2YgdGhlIEluZm8KLW5vZGUgKG9yIGFuY2hvcikgYmV0 d2VlbiBncmF2ZSBhY2NlbnQgYW5kIGFwb3N0cm9waGUsIHByZWNlZGVkIGJ5CitUbyBtYWtl IGEgaHlwZXJsaW5rIHRvIEluZm8gZG9jdW1lbnRhdGlvbiwgd3JpdGUgdGhlIHNpbmdsZS1x dW90ZWQKK25hbWUgb2YgdGhlIEluZm8gbm9kZSAob3IgYW5jaG9yKSwgcHJlY2VkZWQgYnkK IEBzYW1we2luZm8gbm9kZX0sIEBzYW1we0luZm8gbm9kZX0sIEBzYW1we2luZm8gYW5jaG9y fSBvciBAc2FtcHtJbmZvCiBhbmNob3J9LiAgVGhlIEluZm8gZmlsZSBuYW1lIGRlZmF1bHRz IHRvIEBzYW1we2VtYWNzfS4gIEZvciBleGFtcGxlLAogCiBAc21hbGxleGFtcGxlCi1TZWUg SW5mbyBub2RlIGBGb250IExvY2snIGFuZCBJbmZvIG5vZGUgYChlbGlzcClGb250IExvY2sg QmFzaWNzJy4KK1NlZSBJbmZvIG5vZGUg4oCYRm9udCBMb2Nr4oCZIGFuZCBJbmZvIG5vZGUg 4oCYKGVsaXNwKUZvbnQgTG9jayBCYXNpY3PigJkuCiBAZW5kIHNtYWxsZXhhbXBsZQogCi1G aW5hbGx5LCB0byBjcmVhdGUgYSBoeXBlcmxpbmsgdG8gVVJMcywgd3JpdGUgdGhlIFVSTCBi ZXR3ZWVuIGdyYXZlCi1hY2NlbnQgYW5kIGFwb3N0cm9waGUsIHByZWNlZGVkIGJ5IEBzYW1w e1VSTH0uIEZvciBleGFtcGxlLAorRmluYWxseSwgdG8gY3JlYXRlIGEgaHlwZXJsaW5rIHRv IFVSTHMsIHdyaXRlIHRoZSBzaW5nbGUtcXVvdGVkIFVSTCwKK3ByZWNlZGVkIGJ5IEBzYW1w e1VSTH0uICBGb3IgZXhhbXBsZSwKIAogQHNtYWxsZXhhbXBsZQogVGhlIGhvbWUgcGFnZSBm b3IgdGhlIEdOVSBwcm9qZWN0IGhhcyBtb3JlIGluZm9ybWF0aW9uIChzZWUgVVJMCi1gaHR0 cDovL3d3dy5nbnUub3JnLycpLgor4oCYaHR0cDovL3d3dy5nbnUub3JnL+KAmSkuCiBAZW5k IHNtYWxsZXhhbXBsZQogCiBAaXRlbQpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVX UwppbmRleCBjZTA4ODgxLi4zYjZlNmYxIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9l dGMvTkVXUwpAQCAtODg3LDYgKzg4NywxMiBAQCBkaXJlY3RvcnkgYXQgcG9pbnQuCiAqKiog TmV3IG1hY3JvcyBgdGhyZWFkLWZpcnN0JyBhbmQgYHRocmVhZC1sYXN0JyBhbGxvdyB0aHJl YWRpbmcgYSBmb3JtCiAgICAgYXMgdGhlIGZpcnN0IG9yIGxhc3QgYXJndW1lbnQgb2Ygc3Vi c2VxdWVudCBmb3Jtcy4KIAorKiogRG9jdW1lbnRhdGlvbiBzdHJpbmdzIG5vdyBzdXBwb3J0 IHF1b3Rpbmcgd2l0aCBjdXJ2ZWQgc2luZ2xlIHF1b3Rlcwor4oCYbGlrZS10aGlz4oCZIGlu IGFkZGl0aW9uIHRvIHRoZSBvbGQgc3R5bGUgd2l0aCBncmF2ZSBhY2NlbnQgYW5kCithcG9z dHJvcGhlIGBsaWtlLXRoaXMnLiAgVGhlIG5ldyBzdHlsZSBsb29rcyBiZXR0ZXIgb24gdG9k YXkncyBkaXNwbGF5cy4KK1doZW4gYW4gb2xkLXN0eWxlIHN0cmluZyBpcyBjb3BpZWQgdG8g YSBoZWxwIGJ1ZmZlciBpdCBpcyBjb252ZXJ0ZWQgdG8KK3RoZSBuZXcgc3R5bGUuCisKICsr KwogKiogVGltZS1yZWxhdGVkIGNoYW5nZXM6CiAKZGlmZiAtLWdpdCBhL2xpc3AvY2VkZXQv bW9kZS1sb2NhbC5lbCBiL2xpc3AvY2VkZXQvbW9kZS1sb2NhbC5lbAppbmRleCAzYzE3NmFl Li4zNTM2MzMzIDEwMDY0NAotLS0gYS9saXNwL2NlZGV0L21vZGUtbG9jYWwuZWwKKysrIGIv bGlzcC9jZWRldC9tb2RlLWxvY2FsLmVsCkBAIC01OTgsMTUgKzU5OCwxNiBAQCBQUk9NUFQs IElOSVRJQUwsIEhJU1QsIGFuZCBERUZBVUxUIGFyZSB0aGUgc2FtZSBhcyBmb3IgYGNvbXBs ZXRpbmctcmVhZCcuIgogKGRlZnVuIG92ZXJsb2FkLWRvY3N0cmluZy1leHRlbnNpb24gKG92 ZXJsb2FkKQogICAiUmV0dXJuIHRoZSBkb2Mgc3RyaW5nIHRoYXQgYXVnbWVudHMgdGhlIGRl c2NyaXB0aW9uIG9mIE9WRVJMT0FELiIKICAgKGxldCAoKGRvYyAiXG5cVGhpcyBmdW5jdGlv biBjYW4gYmUgb3ZlcmxvYWRlZFwKLSB3aXRoIGBkZWZpbmUtbW9kZS1sb2NhbC1vdmVycmlk ZScuIikKKyB3aXRoIOKAmGRlZmluZS1tb2RlLWxvY2FsLW92ZXJyaWRl4oCZLiIpCiAgICAg ICAgIChzeW0gKG92ZXJsb2FkLW9ic29sZXRlZC1ieSBvdmVybG9hZCkpKQogICAgICh3aGVu IHN5bQotICAgICAgKHNldHEgZG9jIChmb3JtYXQgIiVzXG5JdCBoYXMgbWFkZSB0aGUgb3Zl cmxvYWQgYCVzJyBvYnNvbGV0ZSBzaW5jZSAlcy4iCisgICAgICAoc2V0cSBkb2MgKGZvcm1h dCAiJXNcbkl0IGhhcyBtYWRlIHRoZSBvdmVybG9hZCDigJglc+KAmSBvYnNvbGV0ZSBzaW5j ZSAlcy4iCiAgICAgICAgICAgICAgICAgICAgICAgICBkb2Mgc3ltIChnZXQgc3ltICdvdmVy bG9hZC1vYnNvbGV0ZWQtc2luY2UpKSkpCiAgICAgKHNldHEgc3ltIChvdmVybG9hZC10aGF0 LW9ic29sZXRlIG92ZXJsb2FkKSkKICAgICAod2hlbiBzeW0KLSAgICAgIChzZXRxIGRvYyAo Zm9ybWF0ICIlc1xuVGhpcyBvdmVybG9hZCBpcyBvYnNvbGV0ZSBzaW5jZSAlcztcblVzZSBg JXMnIGluc3RlYWQuIgotICAgICAgICAgICAgICAgICAgICAgICAgZG9jIChnZXQgb3Zlcmxv YWQgJ292ZXJsb2FkLW9ic29sZXRlZC1zaW5jZSkgc3ltKSkpCisgICAgICAoc2V0cSBkb2Mg KGZvcm1hdAorICAgICAgICAgICAgICAgICAiJXNcblRoaXMgb3ZlcmxvYWQgaXMgb2Jzb2xl dGUgc2luY2UgJXM7XG51c2Ug4oCYJXPigJkgaW5zdGVhZC4iCisgICAgICAgICAgICAgICAg IGRvYyAoZ2V0IG92ZXJsb2FkICdvdmVybG9hZC1vYnNvbGV0ZWQtc2luY2UpIHN5bSkpKQog ICAgIGRvYykpCiAKIChkZWZ1biBtb2RlLWxvY2FsLWF1Z21lbnQtZnVuY3Rpb24taGVscCAo c3ltYm9sKQpAQCAtNjI5LDkgKzYzMCw5IEBAIFNZTUJPTCBpcyBhIGZ1bmN0aW9uIHRoYXQg Y2FuIGJlIG92ZXJyaWRkZW4uIgogKGRlZnVuIG1vZGUtbG9jYWwtcHJpbnQtYmluZGluZyAo c3ltYm9sKQogICAiUHJpbnQgdGhlIFNZTUJPTCBiaW5kaW5nLiIKICAgKGxldCAoKHZhbHVl IChzeW1ib2wtdmFsdWUgc3ltYm9sKSkpCi0gICAgKHByaW5jIChmb3JtYXQgIlxuICAgICBg JXMnIHZhbHVlIGlzXG4gICAgICAgIiBzeW1ib2wpKQorICAgIChwcmluYyAoZm9ybWF0ICJc biAgICAg4oCYJXPigJkgdmFsdWUgaXNcbiAgICAgICAiIHN5bWJvbCkpCiAgICAgKGlmIChh bmQgdmFsdWUgKHN5bWJvbHAgdmFsdWUpKQotICAgICAgICAocHJpbmMgKGZvcm1hdCAiYCVz JyIgdmFsdWUpKQorICAgICAgICAocHJpbmMgKGZvcm1hdCAi4oCYJXPigJkiIHZhbHVlKSkK ICAgICAgIChsZXQgKChwdCAocG9pbnQpKSkKICAgICAgICAgKHBwIHZhbHVlKQogICAgICAg ICAoc2F2ZS1leGN1cnNpb24KQEAgLTY4OSw3ICs2OTAsNyBAQCBTWU1CT0wgaXMgYSBmdW5j dGlvbiB0aGF0IGNhbiBiZSBvdmVycmlkZGVuLiIKICAgICAgICkKICAgICAgKChzeW1ib2xw IGJ1ZmZlci1vci1tb2RlKQogICAgICAgKHNldHEgbW9kZSBidWZmZXItb3ItbW9kZSkKLSAg ICAgIChwcmluYyAoZm9ybWF0ICJgJXMnXG4iIGJ1ZmZlci1vci1tb2RlKSkKKyAgICAgIChw cmluYyAoZm9ybWF0ICLigJglc+KAmVxuIiBidWZmZXItb3ItbW9kZSkpCiAgICAgICApCiAg ICAgICgoc2lnbmFsICd3cm9uZy10eXBlLWFyZ3VtZW50CiAgICAgICAgICAgICAgIChsaXN0 ICdidWZmZXItb3ItbW9kZSBidWZmZXItb3ItbW9kZSkpKSkKQEAgLTY5OSw3ICs3MDAsNyBA QCBTWU1CT0wgaXMgYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBvdmVycmlkZGVuLiIKICAgICAo d2hpbGUgbW9kZQogICAgICAgKHNldHEgdGFibGUgKGdldCBtb2RlICdtb2RlLWxvY2FsLXN5 bWJvbC10YWJsZSkpCiAgICAgICAod2hlbiB0YWJsZQotICAgICAgICAocHJpbmMgKGZvcm1h dCAiXG4tIEZyb20gYCVzJ1xuIiBtb2RlKSkKKyAgICAgICAgKHByaW5jIChmb3JtYXQgIlxu LSBGcm9tIOKAmCVz4oCZXG4iIG1vZGUpKQogICAgICAgICAobW9kZS1sb2NhbC1wcmludC1i aW5kaW5ncyB0YWJsZSkpCiAgICAgICAoc2V0cSBtb2RlIChnZXQtbW9kZS1sb2NhbC1wYXJl bnQgbW9kZSkpKSkpCiAKZGlmZiAtLWdpdCBhL2xpc3AvY2VkZXQvc3JlY29kZS90ZXhpLmVs IGIvbGlzcC9jZWRldC9zcmVjb2RlL3RleGkuZWwKaW5kZXggYmU3NWYzNy4uYjc1YTY2MDkg MTAwNjQ0Ci0tLSBhL2xpc3AvY2VkZXQvc3JlY29kZS90ZXhpLmVsCisrKyBiL2xpc3AvY2Vk ZXQvc3JlY29kZS90ZXhpLmVsCkBAIC0yNTMsNyArMjUzLDcgQEAgdGhhdCBjbGFzcy4KICBb IHN0dWZmIF0gID0+IEBjb2Rle1sgc3R1ZmYgXX0KICBLZXkgICAgICAgID0+IEBrYmR7S2V5 fSAgICAgKGtleSBpcyBDXFwtaCwgTVxcLWgsIFNQQywgUkVULCBUQUIgYW5kIHRoZSBsaWtl KQogIC4uLiAgICAgICAgPT4gQGRvdHN7fSIKLSAgKHdoaWxlIChzdHJpbmctbWF0Y2ggImBc XChbLWEtekEtWjAtOTw+Ll0rXFwpJyIgc3RyaW5nKQorICAod2hpbGUgKHN0cmluZy1tYXRj aCAiW2DigJhdXFwoWy1hLXpBLVowLTk8Pi5dK1xcKVsn4oCZXSIgc3RyaW5nKQogICAgIChs ZXQqICgodnMgKHN1YnN0cmluZyBzdHJpbmcgKG1hdGNoLWJlZ2lubmluZyAxKSAobWF0Y2gt ZW5kIDEpKSkKIAkgICAodiAoaW50ZXJuLXNvZnQgdnMpKSkKICAgICAgIChzZXRxIHN0cmlu ZwpkaWZmIC0tZ2l0IGEvbGlzcC9jdXMtdGhlbWUuZWwgYi9saXNwL2N1cy10aGVtZS5lbApp bmRleCAyMjRkMmM1Li4xMzIxZmJjIDEwMDY0NAotLS0gYS9saXNwL2N1cy10aGVtZS5lbAor KysgYi9saXNwL2N1cy10aGVtZS5lbApAQCAtNDkyLDEwICs0OTIsMTAgQEAgSXQgaW5jbHVk ZXMgYWxsIGZhY2VzIGluIGxpc3QgRkFDRVMuIgogCQkJICcoIiIgImMiKSkpCiAJZG9jKQog ICAgICh3aGVuIGZuCi0gICAgICAocHJpbmMgIiBpbiBgIikKKyAgICAgIChwcmluYyAiIGlu IOKAmCIpCiAgICAgICAoaGVscC1pbnNlcnQteHJlZi1idXR0b24gKGZpbGUtbmFtZS1ub25k aXJlY3RvcnkgZm4pCiAJCQkgICAgICAgJ2hlbHAtdGhlbWUtZGVmIGZuKQotICAgICAgKHBy aW5jICInIikpCisgICAgICAocHJpbmMgIuKAmSIpKQogICAgIChwcmluYyAiLlxuIikKICAg ICAoaWYgKGN1c3RvbS10aGVtZS1wIHRoZW1lKQogCShwcm9nbgpAQCAtNTE3LDcgKzUxNyw3 IEBAIEl0IGluY2x1ZGVzIGFsbCBmYWNlcyBpbiBsaXN0IEZBQ0VTLiIKIAkJIChzZXRxIGRv YyAobnRoIDIgc2V4cCkpKSkpKSkKICAgICAocHJpbmMgIlxuXG5Eb2N1bWVudGF0aW9uOlxu IikKICAgICAocHJpbmMgKGlmIChzdHJpbmdwIGRvYykKLQkgICAgICAgZG9jCisJICAgICAg IChzdWJzdGl0dXRlLWNvbW1hbmQta2V5cyBkb2MpCiAJICAgICAiTm8gZG9jdW1lbnRhdGlv biBhdmFpbGFibGUuIikpKQogICAocHJpbmMgIlxuXG5Zb3UgY2FuICIpCiAgIChoZWxwLWlu c2VydC14cmVmLWJ1dHRvbiAiY3VzdG9taXplIiAnaGVscC10aGVtZS1lZGl0IHRoZW1lKQpk aWZmIC0tZ2l0IGEvbGlzcC9kZXNjci10ZXh0LmVsIGIvbGlzcC9kZXNjci10ZXh0LmVsCmlu ZGV4IGQ2ZjY0YzcuLmZlNDhkNDYgMTAwNjQ0Ci0tLSBhL2xpc3AvZGVzY3ItdGV4dC5lbAor KysgYi9saXNwL2Rlc2NyLXRleHQuZWwKQEAgLTE2MSw4ICsxNjEsOCBAQCBvdGhlcndpc2Uu IgogICAgICAgOzsgQnV0dG9ucwogICAgICAgKHdoZW4gKGFuZCBidXR0b24gKG5vdCAod2lk Z2V0cCB3aWQtYnV0dG9uKSkpCiAJKG5ld2xpbmUpCi0JKGluc2VydCAiSGVyZSBpcyBhIGAi IChmb3JtYXQgIiVTIiBidXR0b24tdHlwZSkKLQkJIicgYnV0dG9uIGxhYmVsZWQgYCIgYnV0 dG9uLWxhYmVsICInLlxuXG4iKSkKKwkoaW5zZXJ0ICJIZXJlIGlzIGEg4oCYIiAoZm9ybWF0 ICIlUyIgYnV0dG9uLXR5cGUpCisJCSLigJkgYnV0dG9uIGxhYmVsZWQg4oCYIiBidXR0b24t bGFiZWwgIuKAmS5cblxuIikpCiAgICAgICA7OyBPdmVybGF5cwogICAgICAgKHdoZW4gb3Zl cmxheXMKIAkobmV3bGluZSkKQEAgLTczMSw3ICs3MzEsNyBAQCByZWxldmFudCB0byBQT1Mu IgogICAgICAgICAgICAgICAgICAgICAgICh3aGVuIGZhY2UKICAgICAgICAgICAgICAgICAg ICAgICAgIChpbnNlcnQgKHByb3BlcnRpemUgIiAiICdkaXNwbGF5ICcoc3BhY2UgOmFsaWdu LXRvIDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmFjZTogIikKLSAg ICAgICAgICAgICAgICAgICAgICAgIChpbnNlcnQgKGNvbmNhdCAiYCIgKHN5bWJvbC1uYW1l IGZhY2UpICInIikpCisgICAgICAgICAgICAgICAgICAgICAgICAoaW5zZXJ0IChjb25jYXQg IuKAmCIgKHN5bWJvbC1uYW1lIGZhY2UpICLigJkiKSkKICAgICAgICAgICAgICAgICAgICAg ICAgIChpbnNlcnQgIlxuIikpKSkpCiAgICAgICAgICAgICAgIChpbnNlcnQgInRoZXNlIHRl cm1pbmFsIGNvZGVzOlxuIikKICAgICAgICAgICAgICAgKGRvdGltZXMgKGkgKGxlbmd0aCBk aXNwLXZlY3RvcikpCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvY2hlY2tkb2MuZWwg Yi9saXNwL2VtYWNzLWxpc3AvY2hlY2tkb2MuZWwKaW5kZXggZmMyNTdkMC4uOTAzYjRmMiAx MDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2NoZWNrZG9jLmVsCisrKyBiL2xpc3AvZW1h Y3MtbGlzcC9jaGVja2RvYy5lbApAQCAtMTUyNCw3ICsxNTI0LDcgQEAgbWF5IHJlcXVpcmUg bW9yZSBmb3JtYXR0aW5nIikKICAgICAgOzsgICAgIEluc3RlYWQsIHVzZSB0aGUgYFxcWy4u Ll0nIGNvbnN0cnVjdCB0byBzdGFuZCBmb3IgdGhlbS4KICAgICAgKHNhdmUtZXhjdXJzaW9u CiAgICAgICAgKGxldCAoKGYgbmlsKSAobSBuaWwpIChzdGFydCAocG9pbnQpKQotCSAgICAg KHJlICJbXmBBLVphLXowLTlfXVxcKFtDTUFdLVthLXpBLVpdXFx8XFwoXFwoW0NNQV0tXFwp P1wKKwkgICAgIChyZSAiW15g4oCYQS1aYS16MC05X11cXChbQ01BXS1bYS16QS1aXVxcfFxc KFxcKFtDTUFdLVxcKT9cCiBtb3VzZS1bMC0zXVxcKVxcKVxcPiIpKQogCSA7OyBGaW5kIHRo ZSBmaXJzdCBrZXkgc2VxdWVuY2Ugbm90IGluIGEgc2FtcGxlCiAJICh3aGlsZSAoYW5kIChu b3QgZikgKHNldHEgbSAocmUtc2VhcmNoLWZvcndhcmQgcmUgZSB0KSkpCkBAIC0xNTU0LDcg KzE1NTQsOCBAQCBtb3VzZS1bMC0zXVxcKVxcKVxcPiIpKQogICAgICAoc2F2ZS1leGN1cnNp b24KICAgICAgICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0KQogCSAgICAgKHJldCBuaWwp IG1iIG1lKQotCSAod2hpbGUgKGFuZCAocmUtc2VhcmNoLWZvcndhcmQgImBcXChcXHN3XFwo XFxzd1xcfFxcc19cXCkrXFwpJyIgZSB0KQorCSAod2hpbGUgKGFuZCAocmUtc2VhcmNoLWZv cndhcmQKKyAgICAgICAgICAgICAgICAgICAgICAiW2DigJhdXFwoXFxzd1xcKFxcc3dcXHxc XHNfXFwpK1xcKVsn4oCZXSIgZSB0KQogCQkgICAgIChub3QgcmV0KSkKIAkgICAobGV0KiAo KG1zMSAobWF0Y2gtc3RyaW5nIDEpKQogCQkgIChzeW0gKGludGVybi1zb2Z0IG1zMSkpKQpA QCAtMTc4NSwxNiArMTc4NiwxNyBAQCBSZXBsYWNlIHdpdGggXCIlc1wiPyAiIG9yaWdpbmFs IHJlcGxhY2UpCiAJICAgICApKSkKICAgICAgOzsqIFdoZW4gYSBkb2N1bWVudGF0aW9uIHN0 cmluZyByZWZlcnMgdG8gYSBMaXNwIHN5bWJvbCwgd3JpdGUgaXQgYXMKICAgICAgOzsgIGl0 IHdvdWxkIGJlIHByaW50ZWQgKHdoaWNoIHVzdWFsbHkgbWVhbnMgaW4gbG93ZXIgY2FzZSks IHdpdGgKLSAgICAgOzsgIHNpbmdsZS1xdW90ZXMgYXJvdW5kIGl0LiAgRm9yIGV4YW1wbGU6 IGBsYW1iZGEnLiAgVGhlcmUgYXJlIHR3bwotICAgICA7OyAgZXhjZXB0aW9uczogd3JpdGUg dCBhbmQgbmlsIHdpdGhvdXQgc2luZ2xlLXF1b3Rlcy4gIChJbiB0aGlzCi0gICAgIDs7ICBt YW51YWwsIHdlIG5vcm1hbGx5IGRvIHVzZSBzaW5nbGUtcXVvdGVzIGZvciB0aG9zZSBzeW1i b2xzLikKKyAgICAgOzsgIHNpbmdsZS1xdW90ZXMgYXJvdW5kIGl0LiAgRm9yIGV4YW1wbGU6 IOKAmGxhbWJkYeKAmS4gIFRoZXJlIGFyZSB0d28KKyAgICAgOzsgIGV4Y2VwdGlvbnM6IHdy aXRlIHQgYW5kIG5pbCB3aXRob3V0IHNpbmdsZS1xdW90ZXMuICAoRm9yCisgICAgIDs7ICBj b21wYXRpYmlsaXR5IHdpdGggYW4gb2xkZXIgRW1hY3Mgc3R5bGUsIHF1b3Rpbmcgd2l0aCBg IGFuZCAnCisgICAgIDs7ICBhbHNvIHdvcmtzLCBlLmcuLCBgbGFtYmRhJyBpcyB0cmVhdGVk IGxpa2Ug4oCYbGFtYmRh4oCZLikKICAgICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgICAgKGxl dCAoKGZvdW5kIG5pbCkgKHN0YXJ0IChwb2ludCkpIChtc2cgbmlsKSAobXMgbmlsKSkKIAkg KHdoaWxlIChhbmQgKG5vdCBtc2cpCiAJCSAgICAgKHJlLXNlYXJjaC1mb3J3YXJkCiAJCSAg ICAgIDs7IElnbm9yZSBtYW51YWwgcGFnZSByZWZlcmVuY2VzIGxpa2UKIAkJICAgICAgOzsg Z2l0LWNvbmZpZygxKS4KLQkJICAgICAgIlteLShbYCc6YS16QS1aXVxcKFxcdytbOi1dXFwo XFx3XFx8XFxzX1xcKStcXClbXl0oJ10iCisJCSAgICAgICJbXi0oW2An4oCY4oCZOmEtekEt Wl1cXChcXHcrWzotXVxcKFxcd1xcfFxcc19cXCkrXFwpW15dKCfigJldIgogCQkgICAgICBl IHQpKQogCSAgIChzZXRxIG1zIChtYXRjaC1zdHJpbmcgMSkpCiAJICAgOzsgQSAuIGlzIGEg XHNfIGNoYXIsIHNvIHdlIG11c3QgcmVtb3ZlIHBlcmlvZHMgZnJvbQpAQCAtMTgxMiw3ICsx ODE0LDcgQEAgUmVwbGFjZSB3aXRoIFwiJXNcIj8gIiBvcmlnaW5hbCByZXBsYWNlKQogCQkg KGlmIChjaGVja2RvYy1hdXRvZml4LWFzay1yZXBsYWNlCiAJCSAgICAgIChtYXRjaC1iZWdp bm5pbmcgMSkgKCsgKG1hdGNoLWJlZ2lubmluZyAxKQogCQkJCQkgICAgIChsZW5ndGggbXMp KQotCQkgICAgICBtc2cgKGNvbmNhdCAiYCIgbXMgIiciKSB0KQorCQkgICAgICBtc2cgKGNv bmNhdCAi4oCYIiBtcyAi4oCZIikgdCkKIAkJICAgICAoc2V0cSBtc2cgbmlsKQogCQkgICAo c2V0cSBtc2cKIAkJCSAoZm9ybWF0ICJMaXNwIHN5bWJvbCBgJXMnIHNob3VsZCBhcHBlYXIg aW4gcXVvdGVzIgpAQCAtMTgyNCw3ICsxODI2LDcgQEAgUmVwbGFjZSB3aXRoIFwiJXNcIj8g IiBvcmlnaW5hbCByZXBsYWNlKQogCSAgIG5pbCkpKQogICAgICA7OyB0IGFuZCBuaWwgY2Fz ZQogICAgICAoc2F2ZS1leGN1cnNpb24KLSAgICAgICAoaWYgKHJlLXNlYXJjaC1mb3J3YXJk ICJcXChgXFwodFxcfG5pbFxcKSdcXCkiIGUgdCkKKyAgICAgICAoaWYgKHJlLXNlYXJjaC1m b3J3YXJkICJcXChbYOKAmF1cXCh0XFx8bmlsXFwpWyfigJldXFwpIiBlIHQpCiAJICAgKGlm IChjaGVja2RvYy1hdXRvZml4LWFzay1yZXBsYWNlCiAJCShtYXRjaC1iZWdpbm5pbmcgMSkg KG1hdGNoLWVuZCAxKQogCQkoZm9ybWF0ICIlcyBzaG91bGQgbm90IGFwcGVhciBpbiBxdW90 ZXMuICBSZW1vdmU/ICIKQEAgLTE5ODksNyArMTk5MSw3IEBAIElmIHRoZSBvZmZlbmRpbmcg d29yZCBpcyBpbiBhIHBpZWNlIG9mIHF1b3RlZCB0ZXh0LCB0aGVuIGl0IGlzIHNraXBwZWQu IgogICAgICAgICAgICAgKGlmIChhbmQgKG5vdCAoc2F2ZS1leGN1cnNpb24KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIGIpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZvcndhcmQtY2hhciAtMSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobG9va2luZy1hdCAiYFxcfFwiXFx8XFwuXFx8XFxcXCIpKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAobG9va2luZy1hdCAiW2BcIi7igJhdXFx8XFxcXCIpKSkKICAgICAg ICAgICAgICAgICAgICAgIDs7IHN1cnJvdW5kZWQgYnkgLywgYXMgaW4gYSBVUkwgb3IgZmls ZW5hbWU6IC9lbWFjcy8KICAgICAgICAgICAgICAgICAgICAgIChub3QgKGFuZCAoPSA/LyAo Y2hhci1hZnRlciBlKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPSA/LyAo Y2hhci1iZWZvcmUgYikpKSkKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9jbC1nZW5l cmljLmVsIGIvbGlzcC9lbWFjcy1saXNwL2NsLWdlbmVyaWMuZWwKaW5kZXggYTI3MTZlZi4u NDRmNzFkYiAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2NsLWdlbmVyaWMuZWwKKysr IGIvbGlzcC9lbWFjcy1saXNwL2NsLWdlbmVyaWMuZWwKQEAgLTg2NSwxMSArODY1LDExIEBA IENhbiBvbmx5IGJlIHVzZWQgZnJvbSB3aXRoaW4gdGhlIGxleGljYWwgYm9keSBvZiBhIHBy aW1hcnkgb3IgYXJvdW5kIG1ldGhvZC4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjbC0tZ2VuZXJpYy1tZXRob2Qtc3BlY2lhbGl6ZXJzIG1ldGhvZCkpKQogICAg ICAgICAgICAgICAgICAgIChmaWxlIChmaW5kLWxpc3Atb2JqZWN0LWZpbGUtbmFtZSBtZXQt bmFtZSAnY2wtZGVmbWV0aG9kKSkpCiAgICAgICAgICAgICAgICh3aGVuIGZpbGUKLSAgICAg ICAgICAgICAgICAoaW5zZXJ0ICIgaW4gYCIpCisgICAgICAgICAgICAgICAgKGluc2VydCAi IGluIOKAmCIpCiAgICAgICAgICAgICAgICAgKGhlbHAtaW5zZXJ0LXhyZWYtYnV0dG9uICho ZWxwLWZucy1zaG9ydC1maWxlbmFtZSBmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnaGVscC1mdW5jdGlvbi1kZWYgbWV0LW5hbWUgZmlsZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2wtZGVmbWV0aG9kKQot ICAgICAgICAgICAgICAgIChpbnNlcnQgIicuXG4iKSkpCisgICAgICAgICAgICAgICAgKGlu c2VydCAi4oCZLlxuIikpKQogICAgICAgICAgICAgKGluc2VydCAiXG4iIChvciAobnRoIDIg aW5mbykgIlVuZG9jdW1lbnRlZCIpICJcblxuIikpKSkpKSkKIAogOzs7IFN1cHBvcnQgZm9y IChoZWFkIDx2YWw+KSBzcGVjaWFsaXplcnMuCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxp c3AvZWllaW8tb3B0LmVsIGIvbGlzcC9lbWFjcy1saXNwL2VpZWlvLW9wdC5lbAppbmRleCAw MmI4OWUwLi4xMWQ5OTg0IDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvZWllaW8tb3B0 LmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9laWVpby1vcHQuZWwKQEAgLTkwLDExICs5MCwx MSBAQCBJZiBDTEFTUyBpcyBhY3R1YWxseSBhbiBvYmplY3QsIHRoZW4gYWxzbyBkaXNwbGF5 IGN1cnJlbnQgdmFsdWVzIG9mIHRoYXQgb2JqZWN0LgogCSAgIiBjbGFzcyIpCiAgIChsZXQg KChsb2NhdGlvbiAoZmluZC1saXNwLW9iamVjdC1maWxlLW5hbWUgY2xhc3MgJ2VpZWlvLWRl ZmNsYXNzKSkpCiAgICAgKHdoZW4gbG9jYXRpb24KLSAgICAgIChpbnNlcnQgIiBpbiBgIikK KyAgICAgIChpbnNlcnQgIiBpbiDigJgiKQogICAgICAgKGhlbHAtaW5zZXJ0LXhyZWYtYnV0 dG9uCiAgICAgICAgKGhlbHAtZm5zLXNob3J0LWZpbGVuYW1lIGxvY2F0aW9uKQogICAgICAg ICdlaWVpby1jbGFzcy1kZWYgY2xhc3MgbG9jYXRpb24gJ2VpZWlvLWRlZmNsYXNzKQotICAg ICAgKGluc2VydCAiJyIpKSkKKyAgICAgIChpbnNlcnQgIuKAmSIpKSkKICAgKGluc2VydCAi LlxuIikKICAgOzsgUGFyZW50cwogICAobGV0ICgocGwgKGVpZWlvLWNsYXNzLXBhcmVudHMg Y2xhc3MpKQpAQCAtMTAzLDEwICsxMDMsMTAgQEAgSWYgQ0xBU1MgaXMgYWN0dWFsbHkgYW4g b2JqZWN0LCB0aGVuIGFsc28gZGlzcGxheSBjdXJyZW50IHZhbHVlcyBvZiB0aGF0IG9iamVj dC4KICAgICAgIChpbnNlcnQgIiBJbmhlcml0cyBmcm9tICIpCiAgICAgICAod2hpbGUgKHNl dHEgY3VyIChwb3AgcGwpKQogCShzZXRxIGN1ciAoZWllaW8tLWNsYXNzLW5hbWUgY3VyKSkK LQkoaW5zZXJ0ICJgIikKKwkoaW5zZXJ0ICLigJgiKQogCShoZWxwLWluc2VydC14cmVmLWJ1 dHRvbiAoc3ltYm9sLW5hbWUgY3VyKQogCQkJCSAnaGVscC1mdW5jdGlvbiBjdXIpCi0JKGlu c2VydCAoaWYgcGwgIicsICIgIiciKSkpCisJKGluc2VydCAoaWYgcGwgIuKAmSwgIiAi4oCZ IikpKQogICAgICAgKGluc2VydCAiLlxuIikpKQogICA7OyBDaGlsZHJlbgogICAobGV0ICgo Y2ggKGVpZWlvLWNsYXNzLWNoaWxkcmVuIGNsYXNzKSkKQEAgLTExNCwxMCArMTE0LDEwIEBA IElmIENMQVNTIGlzIGFjdHVhbGx5IGFuIG9iamVjdCwgdGhlbiBhbHNvIGRpc3BsYXkgY3Vy cmVudCB2YWx1ZXMgb2YgdGhhdCBvYmplY3QuCiAgICAgKHdoZW4gY2gKICAgICAgIChpbnNl cnQgIiBDaGlsZHJlbiAiKQogICAgICAgKHdoaWxlIChzZXRxIGN1ciAocG9wIGNoKSkKLQko aW5zZXJ0ICJgIikKKwkoaW5zZXJ0ICLigJgiKQogCShoZWxwLWluc2VydC14cmVmLWJ1dHRv biAoc3ltYm9sLW5hbWUgY3VyKQogCQkJCSAnaGVscC1mdW5jdGlvbiBjdXIpCi0JKGluc2Vy dCAoaWYgY2ggIicsICIgIiciKSkpCisJKGluc2VydCAoaWYgY2ggIuKAmSwgIiAi4oCZIikp KQogICAgICAgKGluc2VydCAiLlxuIikpKQogICA7OyBTeXN0ZW0gZG9jdW1lbnRhdGlvbgog ICAobGV0ICgoZG9jIChkb2N1bWVudGF0aW9uLXByb3BlcnR5IGNsYXNzICd2YXJpYWJsZS1k b2N1bWVudGF0aW9uKSkpCkBAIC0xMzAsOSArMTMwLDkgQEAgSWYgQ0xBU1MgaXMgYWN0dWFs bHkgYW4gb2JqZWN0LCB0aGVuIGFsc28gZGlzcGxheSBjdXJyZW50IHZhbHVlcyBvZiB0aGF0 IG9iamVjdC4KICAgICAod2hlbiBnZW5lcmljcwogICAgICAgKGluc2VydCAocHJvcGVydGl6 ZSAiU3BlY2lhbGl6ZWQgTWV0aG9kczpcblxuIiAnZmFjZSAnYm9sZCkpCiAgICAgICAoZG9s aXN0IChnZW5lcmljIGdlbmVyaWNzKQotICAgICAgICAoaW5zZXJ0ICJgIikKKyAgICAgICAg KGluc2VydCAi4oCYIikKICAgICAgICAgKGhlbHAtaW5zZXJ0LXhyZWYtYnV0dG9uIChzeW1i b2wtbmFtZSBnZW5lcmljKSAnaGVscC1mdW5jdGlvbiBnZW5lcmljKQotICAgICAgICAoaW5z ZXJ0ICInIikKKyAgICAgICAgKGluc2VydCAi4oCZIikKIAkocGNhc2UtZG9saXN0IChgKCxx dWFsaWZpZXJzICxhcmdzICxkb2MpCiAgICAgICAgICAgICAgICAgICAgICAgIChlaWVpby1t ZXRob2QtZG9jdW1lbnRhdGlvbiBnZW5lcmljIGNsYXNzKSkKICAgICAgICAgICAoaW5zZXJ0 IChmb3JtYXQgIiAlcyVTXG4iIHF1YWxpZmllcnMgYXJncykKQEAgLTI0NSwxMSArMjQ1LDEx IEBAIGFyZSBub3QgYWJzdHJhY3QuIgogCShzZXRxIGxvY2F0aW9uCiAJICAgICAgKGZpbmQt bGlzcC1vYmplY3QtZmlsZS1uYW1lIGN0ciBkZWYpKSkKICAgICAgICh3aGVuIGxvY2F0aW9u Ci0JKGluc2VydCAiIGluIGAiKQorCShpbnNlcnQgIiBpbiDigJgiKQogCShoZWxwLWluc2Vy dC14cmVmLWJ1dHRvbgogCSAoaGVscC1mbnMtc2hvcnQtZmlsZW5hbWUgbG9jYXRpb24pCiAJ ICdlaWVpby1jbGFzcy1kZWYgY3RyIGxvY2F0aW9uICdlaWVpby1kZWZjbGFzcykKLQkoaW5z ZXJ0ICInIikpCisJKGluc2VydCAi4oCZIikpCiAgICAgICAoaW5zZXJ0ICIuXG5DcmVhdGVz IGFuIG9iamVjdCBvZiBjbGFzcyAiIChzeW1ib2wtbmFtZSBjdHIpICIuIikKICAgICAgIChn b3RvLWNoYXIgKHBvaW50LW1heCkpCiAgICAgICAoaWYgKGF1dG9sb2FkcCBkZWYpCmRpZmYg LS1naXQgYS9saXNwL2VtYWNzLWxpc3AvbGlzcC1tb2RlLmVsIGIvbGlzcC9lbWFjcy1saXNw L2xpc3AtbW9kZS5lbAppbmRleCA2ZmFjZjU3Li5hYjAxYTEwIDEwMDY0NAotLS0gYS9saXNw L2VtYWNzLWxpc3AvbGlzcC1tb2RlLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9saXNwLW1v ZGUuZWwKQEAgLTQwMyw4ICs0MDMsOCBAQAogICAgICAgICAgOzsgV29yZHMgaW5zaWRlIFxc W10gdGVuZCB0byBiZSBmb3IgYHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzJy4KICAgICAgICAg ICgiXFxcXFxcXFxcXFtcXChcXCg/Olxcc3dcXHxcXHNfXFwpK1xcKVxcXSIKICAgICAgICAg ICAoMSBmb250LWxvY2stY29uc3RhbnQtZmFjZSBwcmVwZW5kKSkKLSAgICAgICAgIDs7IFdv cmRzIGluc2lkZSBgJyB0ZW5kIHRvIGJlIHN5bWJvbCBuYW1lcy4KLSAgICAgICAgICgiYFxc KFxcKD86XFxzd1xcfFxcc19cXClcXCg/Olxcc3dcXHxcXHNfXFwpK1xcKSciCisgICAgICAg ICA7OyBXb3JkcyBpbnNpZGUg4oCY4oCZIGFuZCBgJyB0ZW5kIHRvIGJlIHN5bWJvbCBuYW1l cy4KKyAgICAgICAgICgiW2DigJhdXFwoXFwoPzpcXHN3XFx8XFxzX1xcKVxcKD86XFxzd1xc fFxcc19cXCkrXFwpWyfigJldIgogICAgICAgICAgICgxIGZvbnQtbG9jay1jb25zdGFudC1m YWNlIHByZXBlbmQpKQogICAgICAgICAgOzsgQ29uc3RhbnQgdmFsdWVzLgogICAgICAgICAg KCJcXF88OlxcKD86XFxzd1xcfFxcc19cXCkrXFxfPiIgMCBmb250LWxvY2stYnVpbHRpbi1m YWNlKQpAQCAtNDUyLDggKzQ1Miw4IEBACiAgICAgICAgICA7OyBFcnJvbmVvdXMgc3RydWN0 dXJlcy4KICAgICAgICAgICgsKGNvbmNhdCAiKCIgY2wtZXJycy1yZSAiXFxfPiIpCiAgICAg ICAgICAgICgxIGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQotICAgICAgICAgOzsgV29yZHMg aW5zaWRlIGAnIHRlbmQgdG8gYmUgc3ltYm9sIG5hbWVzLgotICAgICAgICAgKCJgXFwoXFwo PzpcXHN3XFx8XFxzX1xcKVxcKD86XFxzd1xcfFxcc19cXCkrXFwpJyIKKyAgICAgICAgIDs7 IFdvcmRzIGluc2lkZSDigJjigJkgYW5kIGAnIHRlbmQgdG8gYmUgc3ltYm9sIG5hbWVzLgor ICAgICAgICAgKCJbYOKAmF1cXChcXCg/Olxcc3dcXHxcXHNfXFwpXFwoPzpcXHN3XFx8XFxz X1xcKStcXClbJ+KAmV0iCiAgICAgICAgICAgKDEgZm9udC1sb2NrLWNvbnN0YW50LWZhY2Ug cHJlcGVuZCkpCiAgICAgICAgICA7OyBDb25zdGFudCB2YWx1ZXMuCiAgICAgICAgICAoIlxc Xzw6XFwoPzpcXHN3XFx8XFxzX1xcKStcXF8+IiAwIGZvbnQtbG9jay1idWlsdGluLWZhY2Up CmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS5lbCBiL2xpc3AvZW1hY3Mt bGlzcC9wYWNrYWdlLmVsCmluZGV4IDFhYjFiNGIuLjhmMDZjODEgMTAwNjQ0Ci0tLSBhL2xp c3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9wYWNrYWdl LmVsCkBAIC0yMTYwLDE3ICsyMTYwLDE3IEBAIHdpbGwgYmUgZGVsZXRlZC4iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnN0YWxsZWQiCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoY2FwaXRhbGl6ZSBzdGF0dXMpKSA7RklYTUU6IFdoeSBj b21tZW50LWZhY2U/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtbG9j ay1mYWNlICdmb250LWxvY2stY29tbWVudC1mYWNlKSkKLSAgICAgICAgICAgKGluc2VydCAi IGluIGAiKQorICAgICAgICAgICAoaW5zZXJ0ICIgaW4g4oCYIikKICAgICAgICAgICAgOzsg VG9kbzogQWRkIGJ1dHRvbiBmb3IgdW5pbnN0YWxsaW5nLgogICAgICAgICAgICAoaGVscC1p bnNlcnQteHJlZi1idXR0b24gKGFiYnJldmlhdGUtZmlsZS1uYW1lCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgcGtnLWRp cikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVscC1wYWNrYWdl LWRlZiBwa2ctZGlyKQogICAgICAgICAgICAoaWYgKGFuZCAocGFja2FnZS1idWlsdC1pbi1w IG5hbWUpCiAgICAgICAgICAgICAgICAgICAgIChub3QgKHBhY2thZ2UtYnVpbHQtaW4tcCBu YW1lIHZlcnNpb24pKSkKLSAgICAgICAgICAgICAgIChpbnNlcnQgIicsXG4gICAgICAgICAg ICAgc2hhZG93aW5nIGEgIgorICAgICAgICAgICAgICAgKGluc2VydCAi4oCZLFxuICAgICAg ICAgICAgIHNoYWRvd2luZyBhICIKICAgICAgICAgICAgICAgICAgICAgICAgKHByb3BlcnRp emUgImJ1aWx0LWluIHBhY2thZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdmb250LWxvY2stZmFjZSAnZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpCi0gICAgICAg ICAgICAgKGluc2VydCAiJyIpKQorICAgICAgICAgICAgIChpbnNlcnQgIuKAmSIpKQogICAg ICAgICAgICAoaWYgc2lnbmVkCiAgICAgICAgICAgICAgICAoaW5zZXJ0ICIuIikKICAgICAg ICAgICAgICAoaW5zZXJ0ICIgKHVuc2lnbmVkKS4iKSkKZGlmZiAtLWdpdCBhL2xpc3AvZmFj ZXMuZWwgYi9saXNwL2ZhY2VzLmVsCmluZGV4IDljMDg3YzkuLjU4YTM5ZjAgMTAwNjQ0Ci0t LSBhL2xpc3AvZmFjZXMuZWwKKysrIGIvbGlzcC9mYWNlcy5lbApAQCAtMTQyOCwxOCArMTQy OCwxOSBAQCBJZiBGUkFNRSBpcyBvbWl0dGVkIG9yIG5pbCwgdXNlIHRoZSBzZWxlY3RlZCBm cmFtZS4iCiAJCSAgKHdoZW4gYWxpYXMKIAkJICAgIChzZXRxIGZhY2UgYWxpYXMpCiAJCSAg ICAoaW5zZXJ0Ci0JCSAgICAgKGZvcm1hdCAiXG4gICVzIGlzIGFuIGFsaWFzIGZvciB0aGUg ZmFjZSBgJXMnLlxuJXMiCisJCSAgICAgKGZvcm1hdCAiXG4gICVzIGlzIGFuIGFsaWFzIGZv ciB0aGUgZmFjZSDigJglc+KAmS5cbiVzIgogCQkJICAgICBmIGFsaWFzCiAJCQkgICAgIChp ZiAoc2V0cSBvYnNvbGV0ZSAoZ2V0IGYgJ29ic29sZXRlLWZhY2UpKQotCQkJCSAoZm9ybWF0 ICIgIFRoaXMgZmFjZSBpcyBvYnNvbGV0ZSVzOyB1c2UgYCVzJyBpbnN0ZWFkLlxuIgorCQkJ CSAoZm9ybWF0ICIgIFRoaXMgZmFjZSBpcyBvYnNvbGV0ZSVzOyB1c2Ug4oCYJXPigJkgaW5z dGVhZC5cbiIKIAkJCQkJIChpZiAoc3RyaW5ncCBvYnNvbGV0ZSkKIAkJCQkJICAgICAoZm9y bWF0ICIgc2luY2UgJXMiIG9ic29sZXRlKQogCQkJCQkgICAiIikKIAkJCQkJIGFsaWFzKQog CQkJICAgICAgICIiKSkpKQogCQkgIChpbnNlcnQgIlxuRG9jdW1lbnRhdGlvbjpcbiIKLQkJ CSAgKG9yIChmYWNlLWRvY3VtZW50YXRpb24gZmFjZSkKLQkJCSAgICAgICJOb3QgZG9jdW1l bnRlZCBhcyBhIGZhY2UuIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1YnN0aXR1 dGUtY29tbWFuZC1rZXlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKGZhY2Ut ZG9jdW1lbnRhdGlvbiBmYWNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJO b3QgZG9jdW1lbnRlZCBhcyBhIGZhY2UuIikpCiAJCQkgICJcblxuIikpCiAJCSh3aXRoLWN1 cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91dHB1dAogCQkgIChzYXZlLWV4Y3Vyc2lvbgpAQCAt MTQ0OCwxMiArMTQ0OSwxMiBAQCBJZiBGUkFNRSBpcyBvbWl0dGVkIG9yIG5pbCwgdXNlIHRo ZSBzZWxlY3RlZCBmcmFtZS4iCiAJCSAgICAoaGVscC14cmVmLWJ1dHRvbiAxICdoZWxwLWN1 c3RvbWl6ZS1mYWNlIGYpKSkKIAkJKHNldHEgZmlsZS1uYW1lIChmaW5kLWxpc3Atb2JqZWN0 LWZpbGUtbmFtZSBmICdkZWZmYWNlKSkKIAkJKHdoZW4gZmlsZS1uYW1lCi0JCSAgKHByaW5j ICJEZWZpbmVkIGluIGAiKQorCQkgIChwcmluYyAiRGVmaW5lZCBpbiDigJgiKQogCQkgIChw cmluYyAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSBmaWxlLW5hbWUpKQotCQkgIChwcmluYyAi JyIpCisJCSAgKHByaW5jICLigJkiKQogCQkgIDs7IE1ha2UgYSBoeXBlcmxpbmsgdG8gdGhl IGxpYnJhcnkuCiAJCSAgKHNhdmUtZXhjdXJzaW9uCi0JCSAgICAocmUtc2VhcmNoLWJhY2t3 YXJkICJgXFwoW15gJ10rXFwpJyIgbmlsIHQpCisJCSAgICAocmUtc2VhcmNoLWJhY2t3YXJk ICLigJhcXChbXuKAmOKAmV0rXFwp4oCZIiBuaWwgdCkKIAkJICAgIChoZWxwLXhyZWYtYnV0 dG9uIDEgJ2hlbHAtZmFjZS1kZWYgZiBmaWxlLW5hbWUpKQogCQkgIChwcmluYyAiLiIpCiAJ CSAgKHRlcnByaSkKZGlmZiAtLWdpdCBhL2xpc3AvZmluZGVyLmVsIGIvbGlzcC9maW5kZXIu ZWwKaW5kZXggNDdmYWIzYy4uMzA2ZjJlMiAxMDA2NDQKLS0tIGEvbGlzcC9maW5kZXIuZWwK KysrIGIvbGlzcC9maW5kZXIuZWwKQEAgLTExNSw3ICsxMTUsNyBAQCBFYWNoIGVsZW1lbnQg aGFzIHRoZSBmb3JtIChLRVlXT1JEIC4gREVTQ1JJUFRJT04pLiIpCiAgICJTeW50YXggdGFi bGUgdXNlZCB3aGlsZSBpbiBgZmluZGVyLW1vZGUnLiIpCiAKIChkZWZ2YXIgZmluZGVyLWZv bnQtbG9jay1rZXl3b3JkcwotICAnKCgiYFxcKFteJ2BdK1xcKSciIDEgZm9udC1sb2NrLWNv bnN0YW50LWZhY2UgcHJlcGVuZCkpCisgICcoKCJbYOKAmF1cXChbXidg4oCY4oCZXStcXClb J+KAmV0iIDEgZm9udC1sb2NrLWNvbnN0YW50LWZhY2UgcHJlcGVuZCkpCiAgICJGb250LWxv Y2sga2V5d29yZHMgZm9yIEZpbmRlciBtb2RlLiIpCiAKIChkZWZ2YXIgZmluZGVyLWhlYWRt YXJrIG5pbApkaWZmIC0tZ2l0IGEvbGlzcC9nbnVzL2dudXMtYXJ0LmVsIGIvbGlzcC9nbnVz L2dudXMtYXJ0LmVsCmluZGV4IDc2MzBhZmIuLjBhYzlmYjUgMTAwNjQ0Ci0tLSBhL2xpc3Av Z251cy9nbnVzLWFydC5lbAorKysgYi9saXNwL2dudXMvZ251cy1hcnQuZWwKQEAgLTc4Mjcs MTEgKzc4MjcsMTEgQEAgcG9zaXRpdmVzIGFyZSBwb3NzaWJsZS4iCiAgICAgKCIvXFwoW2Et el1bLWEtejAtOV0rXFwuZWxcXClcXD5bXi4/XSIKICAgICAgOzsgRXhjbHVkZSBbLj9dIGZv ciBVUkxzIGluIGdtYW5lLmVtYWNzLmN2cwogICAgICAxICg+PSBnbnVzLWJ1dHRvbi1lbWFj cy1sZXZlbCA4KSBnbnVzLWJ1dHRvbi1oYW5kbGUtbGlicmFyeSAxKQotICAgICgiYFxcKFth LXpdWy1hLXowLTldK1xcLmVsXFwpJyIKKyAgICAoIltg4oCYXVxcKFthLXpdWy1hLXowLTld K1xcLmVsXFwpWyfigJldIgogICAgICAxICg+PSBnbnVzLWJ1dHRvbi1lbWFjcy1sZXZlbCA4 KSBnbnVzLWJ1dHRvbi1oYW5kbGUtbGlicmFyeSAxKQotICAgICgiYFxcKFthLXpdW2EtejAt OV0rLVthLXowLTldKy1bLWEtejAtOV0qW2Etel1cXHxcXChnbnVzXFx8bWVzc2FnZVxcKS1b LWEtel0rXFwpJyIKKyAgICAoIltg4oCYXVxcKFthLXpdW2EtejAtOV0rLVthLXowLTldKy1b LWEtejAtOV0qW2Etel1cXHxcXChnbnVzXFx8bWVzc2FnZVxcKS1bLWEtel0rXFwpWyfigJld IgogICAgICAwICg+PSBnbnVzLWJ1dHRvbi1lbWFjcy1sZXZlbCA4KSBnbnVzLWJ1dHRvbi1o YW5kbGUtc3ltYm9sIDEpCi0gICAgKCJgXFwoW2Etel1bYS16MC05XSstW2Etel0rXFwpJyIK KyAgICAoIltg4oCYXVxcKFthLXpdW2EtejAtOV0rLVthLXpdK1xcKVsn4oCZXSIKICAgICAg MCAoPj0gZ251cy1idXR0b24tZW1hY3MtbGV2ZWwgOSkgZ251cy1idXR0b24taGFuZGxlLXN5 bWJvbCAxKQogICAgICgiKHNldHFbIFx0XG5dK1xcKFthLXpdW2EtejAtOV0rLVstYS16MC05 XStcXClbIFx0XG5dKy4rKSIKICAgICAgMSAoPj0gZ251cy1idXR0b24tZW1hY3MtbGV2ZWwg NykgZ251cy1idXR0b24taGFuZGxlLWRlc2NyaWJlLXZhcmlhYmxlIDEpCkBAIC03ODQxLDcg Kzc4NDEsNyBAQCBwb3NpdGl2ZXMgYXJlIHBvc3NpYmxlLiIKICAgICAgMCAoPj0gZ251cy1i dXR0b24tZW1hY3MtbGV2ZWwgMSkgZ251cy1idXR0b24taGFuZGxlLWRlc2NyaWJlLWZ1bmN0 aW9uIDIpCiAgICAgKCJcXGJcXChDLWhcXHw8P1tGZl0xPj9cXClbIFx0XG5dK3ZbIFx0XG5d K1xcKFteIFx0XG5dK1xcKVsgXHRcbl0rUkVUXFw+IgogICAgICAwICg+PSBnbnVzLWJ1dHRv bi1lbWFjcy1sZXZlbCAxKSBnbnVzLWJ1dHRvbi1oYW5kbGUtZGVzY3JpYmUtdmFyaWFibGUg MikKLSAgICAoImBcXChcXChDLWhcXHw8P1tGZl0xPj9cXClbIFx0XG5dK2tbIFx0XG5dK1xc KFteJ10rXFwpXFwpJyIKKyAgICAoIltg4oCYXVxcKFxcKEMtaFxcfDw/W0ZmXTE+P1xcKVsg XHRcbl0ra1sgXHRcbl0rXFwoW14n4oCZXStcXClcXClbJ+KAmV0iCiAgICAgIDs7IFVubGlr ZSB0aGUgb3RoZXIgcmVnZXhwcyB3ZSByZWFsbHkgaGF2ZSB0byByZXF1aXJlIHF1b3RpbmcK ICAgICAgOzsgaGVyZSB0byBkZXRlcm1pbmUgd2hlcmUgaXQgZW5kcy4KICAgICAgMSAoPj0g Z251cy1idXR0b24tZW1hY3MtbGV2ZWwgMSkgZ251cy1idXR0b24taGFuZGxlLWRlc2NyaWJl LWtleSAzKQpkaWZmIC0tZ2l0IGEvbGlzcC9oZWxwLWZucy5lbCBiL2xpc3AvaGVscC1mbnMu ZWwKaW5kZXggNDk4MmVlNS4uMzQ2ZTFlMSAxMDA2NDQKLS0tIGEvbGlzcC9oZWxwLWZucy5l bAorKysgYi9saXNwL2hlbHAtZm5zLmVsCkBAIC0xMzUsNyArMTM1LDcgQEAgaWYgdGhlIHZh cmlhYmxlIGBoZWxwLWRvd25jYXNlLWFyZ3VtZW50cycgaXMgbm9uLW5pbC4iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIlxcKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAiXFwo Pzplc1xcfHNcXHx0aFxcKT8iICA7IGZvciBBUkd0aCwgQVJHcwogICAgICAgICAgICAgICAg ICAgICAgICAgICJcXCg/Oi1bYS16MC05LV0rXFwpPyIgIDsgZm9yIEFSRy14eHgsIEFSRy1u Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIlxcKD86LVt7KFs8YFwiXS4qP1xcKT8iOyBm b3IgQVJHLXt4fSwgKHgpLCA8eD4sIFt4XSwgYHgnCisgICAgICAgICAgICAgICAgICAgICAg ICAgIlxcKD86LVt7KFs8YFwi4oCYXS4qP1xcKT8iOyBmb3IgQVJHLXt4fSwgKHgpLCA8eD4s IFt4XSwgYHgnLCDigJh44oCZCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlxcPiIpICAg ICAgICAgICAgICAgICAgOyBlbmQgb2Ygd29yZAogICAgICAgICAgICAgICAgICAoaGVscC1o aWdobGlnaHQtYXJnIGFyZykKICAgICAgICAgICAgICAgICAgZG9jIHQgdCAxKSkpCkBAIC0z MDYsNyArMzA2LDcgQEAgc3VpdGFibGUgZmlsZSBpcyBmb3VuZCwgcmV0dXJuIG5pbC4iCiAg ICAgICAgICAgICAod2hlbiByZW1hcHBlZAogICAgICAgICAgICAgICAocHJpbmMgIkl0cyBr ZXlzIGFyZSByZW1hcHBlZCB0byAiKQogICAgICAgICAgICAgICAocHJpbmMgKGlmIChzeW1i b2xwIHJlbWFwcGVkKQotCQkJIChjb25jYXQgImAiIChzeW1ib2wtbmFtZSByZW1hcHBlZCkg IiciKQorCQkJIChjb25jYXQgIuKAmCIgKHN5bWJvbC1uYW1lIHJlbWFwcGVkKSAi4oCZIikK IAkJICAgICAgICJhbiBhbm9ueW1vdXMgY29tbWFuZCIpKQogICAgICAgICAgICAgICAocHJp bmMgIi5cbiIpKQogCkBAIC0zNDAsMTYgKzM0MCwxNiBAQCBzdWl0YWJsZSBmaWxlIGlzIGZv dW5kLCByZXR1cm4gbmlsLiIKICAgICAgIChpbnNlcnQgIlxuVGhpcyBmdW5jdGlvbiBoYXMg YSBjb21waWxlciBtYWNybyIpCiAgICAgICAoaWYgKHN5bWJvbHAgaGFuZGxlcikKICAgICAg ICAgICAocHJvZ24KLSAgICAgICAgICAgIChpbnNlcnQgKGZvcm1hdCAiIGAlcyciIGhhbmRs ZXIpKQorICAgICAgICAgICAgKGluc2VydCAoZm9ybWF0ICIg4oCYJXPigJkiIGhhbmRsZXIp KQogICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uCi0gICAgICAgICAgICAgIChyZS1zZWFy Y2gtYmFja3dhcmQgImBcXChbXmAnXStcXCknIiBuaWwgdCkKKyAgICAgICAgICAgICAgKHJl LXNlYXJjaC1iYWNrd2FyZCAi4oCYXFwoW17igJjigJldK1xcKeKAmSIgbmlsIHQpCiAgICAg ICAgICAgICAgIChoZWxwLXhyZWYtYnV0dG9uIDEgJ2hlbHAtZnVuY3Rpb24gaGFuZGxlcikp KQogICAgICAgICA7OyBGSVhNRTogT2Jzb2xldGUgc2luY2UgMjQuNC4KICAgICAgICAgKGxl dCAoKGxpYiAoZ2V0IGZ1bmN0aW9uICdjb21waWxlci1tYWNyby1maWxlKSkpCiAgICAgICAg ICAgKHdoZW4gKHN0cmluZ3AgbGliKQotICAgICAgICAgICAgKGluc2VydCAoZm9ybWF0ICIg aW4gYCVzJyIgbGliKSkKKyAgICAgICAgICAgIChpbnNlcnQgKGZvcm1hdCAiIGluIOKAmCVz 4oCZIiBsaWIpKQogICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uCi0gICAgICAgICAgICAg IChyZS1zZWFyY2gtYmFja3dhcmQgImBcXChbXmAnXStcXCknIiBuaWwgdCkKKyAgICAgICAg ICAgICAgKHJlLXNlYXJjaC1iYWNrd2FyZCAi4oCYXFwoW17igJjigJldK1xcKeKAmSIgbmls IHQpCiAgICAgICAgICAgICAgIChoZWxwLXhyZWYtYnV0dG9uIDEgJ2hlbHAtZnVuY3Rpb24t Y21hY3JvIGZ1bmN0aW9uIGxpYikpKSkpCiAgICAgICAoaW5zZXJ0ICIuXG4iKSkpKQogCkBA IC0zOTMsMTMgKzM5MywxMyBAQCBzdWl0YWJsZSBmaWxlIGlzIGZvdW5kLCByZXR1cm4gbmls LiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdldCBmdW5jdGlvbgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdkZXJpdmVkLW1vZGUtcGFyZW50KSkpKQogICAgICh3 aGVuIHBhcmVudC1tb2RlCi0gICAgICAoaW5zZXJ0ICJcblBhcmVudCBtb2RlOiBgIikKKyAg ICAgIChpbnNlcnQgIlxuUGFyZW50IG1vZGU6IOKAmCIpCiAgICAgICAobGV0ICgoYmVnIChw b2ludCkpKQogICAgICAgICAoaW5zZXJ0IChmb3JtYXQgIiVzIiBwYXJlbnQtbW9kZSkpCiAg ICAgICAgIChtYWtlLXRleHQtYnV0dG9uIGJlZyAocG9pbnQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICd0eXBlICdoZWxwLWZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICdoZWxwLWFyZ3MgKGxpc3QgcGFyZW50LW1vZGUpKSkKLSAgICAgIChpbnNlcnQgIicu XG4iKSkpKQorICAgICAgKGluc2VydCAi4oCZLlxuIikpKSkKIAogKGRlZnVuIGhlbHAtZm5z LS1vYnNvbGV0ZSAoZnVuY3Rpb24pCiAgIDs7IElnbm9yZSBsYW1iZGEgY29uc3RydWN0cywg a2V5Ym9hcmQgbWFjcm9zLCBldGMuCkBAIC00MTUsNyArNDE1LDcgQEAgc3VpdGFibGUgZmls ZSBpcyBmb3VuZCwgcmV0dXJuIG5pbC4iCiAgICAgICAod2hlbiAobnRoIDIgb2Jzb2xldGUp CiAgICAgICAgIChpbnNlcnQgKGZvcm1hdCAiIHNpbmNlICVzIiAobnRoIDIgb2Jzb2xldGUp KSkpCiAgICAgICAoaW5zZXJ0IChjb25kICgoc3RyaW5ncCB1c2UpIChjb25jYXQgIjtcbiIg dXNlKSkKLSAgICAgICAgICAgICAgICAgICAgKHVzZSAoZm9ybWF0ICI7XG51c2UgYCVzJyBp bnN0ZWFkLiIgdXNlKSkKKyAgICAgICAgICAgICAgICAgICAgKHVzZSAoZm9ybWF0ICI7XG51 c2Ug4oCYJXPigJkgaW5zdGVhZC4iIHVzZSkpCiAgICAgICAgICAgICAgICAgICAgICh0ICIu IikpCiAgICAgICAgICAgICAgICJcbiIpKSkpCiAKQEAgLTQ1MSw3ICs0NTEsNyBAQCBGSUxF IGlzIHRoZSBmaWxlIHdoZXJlIEZVTkNUSU9OIHdhcyBwcm9iYWJseSBkZWZpbmVkLiIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiO1xuaW4gTGlzcCBjb2RlICVzIiBp bnRlcmFjdGl2ZS1vbmx5KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAoKGFuZCAoc3lt Ym9scCAnaW50ZXJhY3RpdmUtb25seSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobm90IChlcSBpbnRlcmFjdGl2ZS1vbmx5IHQpKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgKGZvcm1hdCAiO1xuaW4gTGlzcCBjb2RlIHVzZSBgJXMnIGluc3RlYWQuIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICI7XG5pbiBMaXNwIGNvZGUgdXNlIOKA mCVz4oCZIGluc3RlYWQuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dGVyYWN0aXZlLW9ubHkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICh0ICIuIikpCiAg ICAgICAgICAgICAgICAgICAgIlxuIikpKSkpCkBAIC01MjAsNyArNTIwLDcgQEAgRklMRSBp cyB0aGUgZmlsZSB3aGVyZSBGVU5DVElPTiB3YXMgcHJvYmFibHkgZGVmaW5lZC4iCiAJCSA7 OyBBbGlhc2VzIGFyZSBMaXNwIGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBjaGVjawogCQkg OzsgYWxpYXNlcyBiZWZvcmUgZnVuY3Rpb25zLgogCQkgKGFsaWFzZWQKLQkJICAoZm9ybWF0 ICJhbiBhbGlhcyBmb3IgYCVzJyIgcmVhbC1kZWYpKQorCQkgIChmb3JtYXQgImFuIGFsaWFz IGZvciDigJglc+KAmSIgcmVhbC1kZWYpKQogCQkgKChhdXRvbG9hZHAgZGVmKQogCQkgIChm b3JtYXQgIiVzIGF1dG9sb2FkZWQgJXMiCiAJCQkgIChpZiAoY29tbWFuZHAgZGVmKSAiYW4g aW50ZXJhY3RpdmUiICJhbiIpCkBAIC01NTQsMjEgKzU1NCwyMSBAQCBGSUxFIGlzIHRoZSBm aWxlIHdoZXJlIEZVTkNUSU9OIHdhcyBwcm9iYWJseSBkZWZpbmVkLiIKICAgICAgICh3aXRo LWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91dHB1dAogCShzYXZlLWV4Y3Vyc2lvbgogCSAg KHNhdmUtbWF0Y2gtZGF0YQotCSAgICAod2hlbiAocmUtc2VhcmNoLWJhY2t3YXJkICJhbGlh cyBmb3IgYFxcKFteYCddK1xcKSciIG5pbCB0KQorCSAgICAod2hlbiAocmUtc2VhcmNoLWJh Y2t3YXJkICJhbGlhcyBmb3Ig4oCYXFwoW17igJjigJldK1xcKeKAmSIgbmlsIHQpCiAJICAg ICAgKGhlbHAteHJlZi1idXR0b24gMSAnaGVscC1mdW5jdGlvbiByZWFsLWRlZikpKSkpCiAK ICAgICAgICh3aGVuIGZpbGUtbmFtZQotCShwcmluYyAiIGluIGAiKQorCShwcmluYyAiIGlu IOKAmCIpCiAJOzsgV2UgdXNlZCB0byBhZGQgLmVsIHRvIHRoZSBmaWxlIG5hbWUsCiAJOzsg YnV0IHRoYXQncyBjb21wbGV0ZWx5IHdyb25nIHdoZW4gdGhlIHVzZXIgdXNlZCBsb2FkLWZp bGUuCiAJKHByaW5jIChpZiAoZXEgZmlsZS1uYW1lICdDLXNvdXJjZSkKIAkJICAgIkMgc291 cmNlIGNvZGUiCiAJCSAoaGVscC1mbnMtc2hvcnQtZmlsZW5hbWUgZmlsZS1uYW1lKSkpCi0J KHByaW5jICInIikKKwkocHJpbmMgIuKAmSIpCiAJOzsgTWFrZSBhIGh5cGVybGluayB0byB0 aGUgbGlicmFyeS4KIAkod2l0aC1jdXJyZW50LWJ1ZmZlciBzdGFuZGFyZC1vdXRwdXQKIAkg IChzYXZlLWV4Y3Vyc2lvbgotCSAgICAocmUtc2VhcmNoLWJhY2t3YXJkICJgXFwoW15gJ10r XFwpJyIgbmlsIHQpCisJICAgIChyZS1zZWFyY2gtYmFja3dhcmQgIuKAmFxcKFte4oCY4oCZ XStcXCnigJkiIG5pbCB0KQogCSAgICAoaGVscC14cmVmLWJ1dHRvbiAxICdoZWxwLWZ1bmN0 aW9uLWRlZiBmdW5jdGlvbiBmaWxlLW5hbWUpKSkpCiAgICAgICAocHJpbmMgIi4iKQogICAg ICAgKHdpdGgtY3VycmVudC1idWZmZXIgKGhlbHAtYnVmZmVyKQpAQCAtNzAyLDE0ICs3MDIs MTQgQEAgaXQgaXMgZGlzcGxheWVkIGFsb25nIHdpdGggdGhlIGdsb2JhbCB2YWx1ZS4iCiAK IAkgICAgICAoaWYgZmlsZS1uYW1lCiAJCSAgKHByb2duCi0JCSAgICAocHJpbmMgIiBpcyBh IHZhcmlhYmxlIGRlZmluZWQgaW4gYCIpCisJCSAgICAocHJpbmMgIiBpcyBhIHZhcmlhYmxl IGRlZmluZWQgaW4g4oCYIikKIAkJICAgIChwcmluYyAoaWYgKGVxIGZpbGUtbmFtZSAnQy1z b3VyY2UpCiAJCQkgICAgICAgIkMgc291cmNlIGNvZGUiCiAJCQkgICAgIChmaWxlLW5hbWUt bm9uZGlyZWN0b3J5IGZpbGUtbmFtZSkpKQotCQkgICAgKHByaW5jICInLlxuIikKKwkJICAg IChwcmluYyAi4oCZLlxuIikKIAkJICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJk LW91dHB1dAogCQkgICAgICAoc2F2ZS1leGN1cnNpb24KLQkJCShyZS1zZWFyY2gtYmFja3dh cmQgImBcXChbXmAnXStcXCknIiBuaWwgdCkKKwkJCShyZS1zZWFyY2gtYmFja3dhcmQgIuKA mFxcKFte4oCY4oCZXStcXCnigJkiIG5pbCB0KQogCQkJKGhlbHAteHJlZi1idXR0b24gMSAn aGVscC12YXJpYWJsZS1kZWYKIAkJCQkJICB2YXJpYWJsZSBmaWxlLW5hbWUpKSkKIAkJICAg IChpZiB2YWx2b2lkCkBAIC04MzksNyArODM5LDggQEAgaWYgaXQgaXMgZ2l2ZW4gYSBsb2Nh bCBiaW5kaW5nLlxuIikpKQogCSAgICAgIDs7IE1lbnRpb24gaWYgaXQncyBhbiBhbGlhcy4K ICAgICAgICAgICAgICAgKHVubGVzcyAoZXEgYWxpYXMgdmFyaWFibGUpCiAgICAgICAgICAg ICAgICAgKHNldHEgZXh0cmEtbGluZSB0KQotICAgICAgICAgICAgICAgIChwcmluYyAoZm9y bWF0ICIgIFRoaXMgdmFyaWFibGUgaXMgYW4gYWxpYXMgZm9yIGAlcycuXG4iIGFsaWFzKSkp CisgICAgICAgICAgICAgICAgKHByaW5jIChmb3JtYXQgIiAgVGhpcyB2YXJpYWJsZSBpcyBh biBhbGlhcyBmb3Ig4oCYJXPigJkuXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYWxpYXMpKSkKIAogICAgICAgICAgICAgICAod2hlbiBvYnNvbGV0ZQogICAgICAgICAg ICAgICAgIChzZXRxIGV4dHJhLWxpbmUgdCkKQEAgLTg0Nyw3ICs4NDgsOCBAQCBpZiBpdCBp cyBnaXZlbiBhIGxvY2FsIGJpbmRpbmcuXG4iKSkpCiAgICAgICAgICAgICAgICAgKGlmIChu dGggMiBvYnNvbGV0ZSkKICAgICAgICAgICAgICAgICAgICAgKHByaW5jIChmb3JtYXQgIiBz aW5jZSAlcyIgKG50aCAyIG9ic29sZXRlKSkpKQogCQkocHJpbmMgKGNvbmQgKChzdHJpbmdw IHVzZSkgKGNvbmNhdCAiO1xuICAiIHVzZSkpCi0JCQkgICAgICh1c2UgKGZvcm1hdCAiO1xu ICB1c2UgYCVzJyBpbnN0ZWFkLiIgKGNhciBvYnNvbGV0ZSkpKQorCQkJICAgICAodXNlIChm b3JtYXQgIjtcbiAgdXNlIOKAmCVz4oCZIGluc3RlYWQuIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGNhciBvYnNvbGV0ZSkpKQogCQkJICAgICAodCAi LiIpKSkKICAgICAgICAgICAgICAgICAodGVycHJpKSkKIApAQCAtODc4LDEzICs4ODAsMTMg QEAgaWYgaXQgaXMgZ2l2ZW4gYSBsb2NhbCBiaW5kaW5nLlxuIikpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHNldHEgZmlsZSAoY2FyIGZpbGUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkaXItZmlsZSBuaWwpKSkKIAkJCShwcmluYyAoaWYg ZGlyLWZpbGUKLQkJCQkgICAiYnkgdGhlIGZpbGVcbiAgYCIKLQkJCQkgImZvciB0aGUgZGly ZWN0b3J5XG4gIGAiKSkKKwkJCQkgICAiYnkgdGhlIGZpbGVcbiAg4oCYIgorCQkJCSAiZm9y IHRoZSBkaXJlY3RvcnlcbiAg4oCYIikpCiAJCQkod2l0aC1jdXJyZW50LWJ1ZmZlciBzdGFu ZGFyZC1vdXRwdXQKIAkJCSAgKGluc2VydC10ZXh0LWJ1dHRvbgogCQkJICAgZmlsZSAndHlw ZSAnaGVscC1kaXItbG9jYWwtdmFyLWRlZgogCQkJICAgJ2hlbHAtYXJncyAobGlzdCB2YXJp YWJsZSBmaWxlKSkpCi0JCQkocHJpbmMgIicuXG4iKSkpCisJCQkocHJpbmMgIuKAmS5cbiIp KSkKIAkJICAocHJpbmMgIiAgVGhpcyB2YXJpYWJsZSdzIHZhbHVlIGlzIGZpbGUtbG9jYWwu XG4iKSkpCiAKIAkgICAgICAod2hlbiAobWVtcSB2YXJpYWJsZSBpZ25vcmVkLWxvY2FsLXZh cmlhYmxlcykKQEAgLTg5OSw3ICs5MDEsNyBAQCB2YXJpYWJsZS5cbiIpKQogZmlsZS1sb2Nh bCB2YXJpYWJsZS5cbiIpCiAJCSh3aGVuIChhc3NxIHZhcmlhYmxlIHNhZmUtbG9jYWwtdmFy aWFibGUtdmFsdWVzKQogCQkgIChwcmluYyAiICBIb3dldmVyLCB5b3UgaGF2ZSBhZGRlZCBp dCB0byBcCi1gc2FmZS1sb2NhbC12YXJpYWJsZS12YWx1ZXMnLlxuIikpKQor4oCYc2FmZS1s b2NhbC12YXJpYWJsZS12YWx1ZXPigJkuXG4iKSkpCiAKIAkgICAgICAod2hlbiBzYWZlLXZh cgogICAgICAgICAgICAgICAgIChzZXRxIGV4dHJhLWxpbmUgdCkKQEAgLTkwNyw3ICs5MDks NyBAQCBmaWxlLWxvY2FsIHZhcmlhYmxlLlxuIikKIAkJKHByaW5jICJpZiBpdHMgdmFsdWVc biAgc2F0aXNmaWVzIHRoZSBwcmVkaWNhdGUgIikKIAkJKHByaW5jIChpZiAoYnl0ZS1jb2Rl LWZ1bmN0aW9uLXAgc2FmZS12YXIpCiAJCQkgICAid2hpY2ggaXMgYSBieXRlLWNvbXBpbGVk IGV4cHJlc3Npb24uXG4iCi0JCQkgKGZvcm1hdCAiYCVzJy5cbiIgc2FmZS12YXIpKSkpCisJ CQkgKGZvcm1hdCAi4oCYJXPigJkuXG4iIHNhZmUtdmFyKSkpKQogCiAgICAgICAgICAgICAg IChpZiBleHRyYS1saW5lICh0ZXJwcmkpKQogCSAgICAgIChwcmluYyAiRG9jdW1lbnRhdGlv bjpcbiIpCmRpZmYgLS1naXQgYS9saXNwL2hlbHAtbW9kZS5lbCBiL2xpc3AvaGVscC1tb2Rl LmVsCmluZGV4IGY5OWU5MTYuLjNmYzBhZDIgMTAwNjQ0Ci0tLSBhL2xpc3AvaGVscC1tb2Rl LmVsCisrKyBiL2xpc3AvaGVscC1tb2RlLmVsCkBAIC0zMjIsNyArMzIyLDcgQEAgQ29tbWFu ZHM6CiAJCSAgICAiXFwoc291cmNlIFxcKD86Y29kZSBcXCk/XFwoPzpvZlxcfGZvclxcKVxc KVxcKSIKIAkJICAgICJbIFx0XG5dK1xcKT8iCiAJCSAgICA7OyBOb3RlIHN0YXJ0aW5nIHdp dGggd29yZC1zeW50YXggY2hhcmFjdGVyOgotCQkgICAgImBcXChcXHN3XFwoXFxzd1xcfFxc c19cXCkrXFwpJyIpKQorCQkgICAgIltg4oCYXVxcKFxcc3dcXChcXHN3XFx8XFxzX1xcKStc XClbJ+KAmV0iKSkKICAgIlJlZ2V4cCBtYXRjaGluZyBkb2Mgc3RyaW5nIHJlZmVyZW5jZXMg dG8gc3ltYm9scy4KIAogVGhlIHdvcmRzIHByZWNlZGluZyB0aGUgcXVvdGVkIHN5bWJvbCBj YW4gYmUgdXNlZCBpbiBkb2Mgc3RyaW5ncyB0bwpAQCAtMzM3LDExICszMzcsMTIgQEAgd2hl biBoZWxwIGNvbW1hbmRzIHJlbGF0ZWQgdG8gbXVsdGlsaW5ndWFsIGVudmlyb25tZW50IChl LmcuLAogCiAKIChkZWZjb25zdCBoZWxwLXhyZWYtaW5mby1yZWdleHAKLSAgKHB1cmVjb3B5 ICJcXDxbSWldbmZvWyBcdFxuXStcXChub2RlXFx8YW5jaG9yXFwpWyBcdFxuXStgXFwoW14n XStcXCknIikKKyAgKHB1cmVjb3B5CisgICAiXFw8W0lpXW5mb1sgXHRcbl0rXFwobm9kZVxc fGFuY2hvclxcKVsgXHRcbl0rW2DigJhdXFwoW14n4oCZXStcXClbJ+KAmV0iKQogICAiUmVn ZXhwIG1hdGNoaW5nIGRvYyBzdHJpbmcgcmVmZXJlbmNlcyB0byBhbiBJbmZvIG5vZGUuIikK IAogKGRlZmNvbnN0IGhlbHAteHJlZi11cmwtcmVnZXhwCi0gIChwdXJlY29weSAiXFw8W1V1 XVtScl1bTGxdWyBcdFxuXStgXFwoW14nXStcXCknIikKKyAgKHB1cmVjb3B5ICJcXDxbVXVd W1JyXVtMbF1bIFx0XG5dK1tg4oCYXVxcKFteJ+KAmV0rXFwpWyfigJldIikKICAgIlJlZ2V4 cCBtYXRjaGluZyBkb2Mgc3RyaW5nIHJlZmVyZW5jZXMgdG8gYSBVUkwuIikKIAogOzs7IyMj YXV0b2xvYWQKZGlmZiAtLWdpdCBhL2xpc3AvaGVscC5lbCBiL2xpc3AvaGVscC5lbAppbmRl eCAyYjhmNjQyLi4xNDExYzFhIDEwMDY0NAotLS0gYS9saXNwL2hlbHAuZWwKKysrIGIvbGlz cC9oZWxwLmVsCkBAIC05NjQsMTEgKzk2NCwxMiBAQCBkb2N1bWVudGF0aW9uIGZvciB0aGUg bWFqb3IgYW5kIG1pbm9yIG1vZGVzIG9mIHRoYXQgYnVmZmVyLiIKIAkobGV0KiAoKG1vZGUg bWFqb3ItbW9kZSkKIAkgICAgICAgKGZpbGUtbmFtZSAoZmluZC1saXNwLW9iamVjdC1maWxl LW5hbWUgbW9kZSBuaWwpKSkKIAkgICh3aGVuIGZpbGUtbmFtZQotCSAgICAocHJpbmMgKGNv bmNhdCAiIGRlZmluZWQgaW4gYCIgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgZmlsZS1uYW1l KSAiJyIpKQorCSAgICAocHJpbmMgKGNvbmNhdCAiIGRlZmluZWQgaW4g4oCYIiAoZmlsZS1u YW1lLW5vbmRpcmVjdG9yeSBmaWxlLW5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAi4oCZIikpCiAJICAgIDs7IE1ha2UgYSBoeXBlcmxpbmsgdG8gdGhlIGxpYnJhcnkuCiAJ ICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91dHB1dAogCSAgICAgIChzYXZl LWV4Y3Vyc2lvbgotCQkocmUtc2VhcmNoLWJhY2t3YXJkICJgXFwoW15gJ10rXFwpJyIgbmls IHQpCisJCShyZS1zZWFyY2gtYmFja3dhcmQgIuKAmFxcKFte4oCY4oCZXStcXCnigJkiIG5p bCB0KQogCQkoaGVscC14cmVmLWJ1dHRvbiAxICdoZWxwLWZ1bmN0aW9uLWRlZiBtb2RlIGZp bGUtbmFtZSkpKSkpCiAJKHByaW5jICI6XG4iKQogCShwcmluYyAoZG9jdW1lbnRhdGlvbiBt YWpvci1tb2RlKSkpKSkKZGlmZiAtLWdpdCBhL2xpc3AvaW50ZXJuYXRpb25hbC9tdWxlLWNt ZHMuZWwgYi9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsCmluZGV4IDRiNjNjYjgu LmM4Y2Q3NmYgMTAwNjQ0Ci0tLSBhL2xpc3AvaW50ZXJuYXRpb25hbC9tdWxlLWNtZHMuZWwK KysrIGIvbGlzcC9pbnRlcm5hdGlvbmFsL211bGUtY21kcy5lbApAQCAtMTc3LDcgKzE3Nyw3 IEBACiAJCSAgICAiXFwoY2hhcnNldFxcKSIKIAkJICAgICJcXClcXHMtK1xcKT8iCiAJCSAg ICA7OyBOb3RlIHN0YXJ0aW5nIHdpdGggd29yZC1zeW50YXggY2hhcmFjdGVyOgotCQkgICAg ImBcXChcXHN3XFwoXFxzd1xcfFxcc19cXCkrXFwpJyIpKSkKKwkJICAgICJbYOKAmF1cXChc XHN3XFwoXFxzd1xcfFxcc19cXCkrXFwpWyfigJldIikpKQogCiAoZGVmdW4gY29kaW5nLXN5 c3RlbS1jaGFuZ2UtZW9sLWNvbnZlcnNpb24gKGNvZGluZy1zeXN0ZW0gZW9sLXR5cGUpCiAg ICJSZXR1cm4gYSBjb2Rpbmcgc3lzdGVtIHdoaWNoIGRpZmZlcnMgZnJvbSBDT0RJTkctU1lT VEVNIGluIEVPTCBjb252ZXJzaW9uLgpAQCAtMTU4OCw3ICsxNTg4LDcgQEAgd2hpY2ggbWFy a3MgdGhlIHZhcmlhYmxlIGBkZWZhdWx0LWlucHV0LW1ldGhvZCcgYXMgc2V0IGZvciBDdXN0 b20gYnVmZmVycy4iCiAJICh3aXRoLW91dHB1dC10by10ZW1wLWJ1ZmZlciAoaGVscC1idWZm ZXIpCiAJICAgKGxldCAoKGVsdCAoYXNzb2MgaW5wdXQtbWV0aG9kIGlucHV0LW1ldGhvZC1h bGlzdCkpKQogCSAgICAgKHByaW5jIChmb3JtYXQKLQkJICAgICAiSW5wdXQgbWV0aG9kOiAl cyAoYCVzJyBpbiBtb2RlIGxpbmUpIGZvciAlc1xuICAlc1xuIgorCQkgICAgICJJbnB1dCBt ZXRob2Q6ICVzICjigJglc+KAmSBpbiBtb2RlIGxpbmUpIGZvciAlc1xuICAlc1xuIgogCQkg ICAgIGlucHV0LW1ldGhvZCAobnRoIDMgZWx0KSAobnRoIDEgZWx0KSAobnRoIDQgZWx0KSkp KSkpKSkpKQogCiAoZGVmdW4gZGVzY3JpYmUtY3VycmVudC1pbnB1dC1tZXRob2QgKCkKQEAg LTIxNzMsMTAgKzIxNzMsMTEgQEAgU2VlIGBzZXQtbGFuZ3VhZ2UtaW5mby1hbGlzdCcgZm9y IHVzZSBpbiBwcm9ncmFtcy4iCiAJICAgICAgKHNlYXJjaC1iYWNrd2FyZCAoc3ltYm9sLW5h bWUgKGNhciBsKSkpCiAJICAgICAgKGhlbHAteHJlZi1idXR0b24gMCAnaGVscC1jb2Rpbmct c3lzdGVtIChjYXIgbCkpCiAJICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKLQkgICAg ICAoaW5zZXJ0ICIgKGAiCisJICAgICAgKGluc2VydCAiICjigJgiCiAJCSAgICAgIChjb2Rp bmctc3lzdGVtLW1uZW1vbmljIChjYXIgbCkpCi0JCSAgICAgICInIGluIG1vZGUgbGluZSk6 XG5cdCIKLQkJICAgICAgKGNvZGluZy1zeXN0ZW0tZG9jLXN0cmluZyAoY2FyIGwpKQorCQkg ICAgICAi4oCZIGluIG1vZGUgbGluZSk6XG5cdCIKKyAgICAgICAgICAgICAgICAgICAgICAo c3Vic3RpdHV0ZS1jb21tYW5kLWtleXMKKyAgICAgICAgICAgICAgICAgICAgICAgKGNvZGlu Zy1zeXN0ZW0tZG9jLXN0cmluZyAoY2FyIGwpKSkKIAkJICAgICAgIlxuIikKIAkgICAgICAo bGV0ICgoYWxpYXNlcyAoY29kaW5nLXN5c3RlbS1hbGlhc2VzIChjYXIgbCkpKSkKIAkJKHdo ZW4gYWxpYXNlcwpkaWZmIC0tZ2l0IGEvbGlzcC9pbnRlcm5hdGlvbmFsL211bGUtZGlhZy5l bCBiL2xpc3AvaW50ZXJuYXRpb25hbC9tdWxlLWRpYWcuZWwKaW5kZXggNDJlNzhmOS4uN2Vm NzU4YiAxMDA2NDQKLS0tIGEvbGlzcC9pbnRlcm5hdGlvbmFsL211bGUtZGlhZy5lbAorKysg Yi9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1kaWFnLmVsCkBAIC0zMzIsNyArMzMyLDcgQEAg bWVhbmluZ3Mgb2YgdGhlc2UgYXJndW1lbnRzLiIKICAgICAgIChsZXQgKChjaGFyIChjaGFy c2V0LWlzby1maW5hbC1jaGFyIGNoYXJzZXQpKSkKIAkod2hlbiAoPiBjaGFyIDApCiAJICAo aW5zZXJ0ICJGaW5hbCBjaGFyIG9mIElTTzIwMjIgZGVzaWduYXRpb24gc2VxdWVuY2U6ICIp Ci0JICAoaW5zZXJ0IChmb3JtYXQgImAlYydcbiIgY2hhcikpKSkKKwkgIChpbnNlcnQgKGZv cm1hdCAi4oCYJWPigJlcbiIgY2hhcikpKSkKICAgICAgIChsZXQgKGFsaWFzZXMpCiAJKGRv bGlzdCAoYyBjaGFyc2V0LWxpc3QpCiAJICAoaWYgKGFuZCAobm90IChlcSBjIGNoYXJzZXQp KQpAQCAtNTgxLDcgKzU4MSw3IEBAIGRvY3N0cmluZywgYW5kIHByaW50IG9ubHkgdGhlIGZp cnN0IGxpbmUgb2YgdGhlIGRvY3N0cmluZy4iCiAJICAgIChpZiAoc3RyaW5nLW1hdGNoICJc biIgZG9jKQogCQkoc2V0cSBkb2MgKHN1YnN0cmluZyBkb2MgMCAobWF0Y2gtYmVnaW5uaW5n IDApKSkpCiAJICAgIChzZXRxIGRvYyAoY29uY2F0ICIgICIgZG9jKSkpCi0JICAocHJpbmMg KGZvcm1hdCAiJXNcbiIgZG9jKSkpKSkpCisJICAocHJpbmMgKGZvcm1hdCAiJXNcbiIgKHN1 YnN0aXR1dGUtY29tbWFuZC1rZXlzIGRvYykpKSkpKSkKIAogOzs7IyMjYXV0b2xvYWQKIChk ZWZ1biBkZXNjcmliZS1jdXJyZW50LWNvZGluZy1zeXN0ZW0gKCkKQEAgLTEwMzgsNyArMTAz OCw3IEBAIHNlZSB0aGUgZnVuY3Rpb24gYGRlc2NyaWJlLWZvbnRzZXQnIGZvciB0aGUgZm9y bWF0IG9mIHRoZSBsaXN0LiIKICAgICAgIChzYXZlLWV4Y3Vyc2lvbgogCShnb3RvLWNoYXIg KHBvaW50LW1pbikpCiAJKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZAotCQkiXiAgXFwoW14g XStcXCkgKGAuKicgaW4gbW9kZSBsaW5lKSQiIG5pbCB0KQorCQkiXiAgXFwoW14gXStcXCkg KOKAmC4q4oCZIGluIG1vZGUgbGluZSkkIiBuaWwgdCkKIAkgIChoZWxwLXhyZWYtYnV0dG9u IDEgJ2hlbHAtaW5wdXQtbWV0aG9kIChtYXRjaC1zdHJpbmcgMSkpKSkpKSkKIAogKGRlZnVu IGxpc3QtaW5wdXQtbWV0aG9kcy0xICgpCkBAIC0xMDQ2LDcgKzEwNDYsNyBAQCBzZWUgdGhl IGZ1bmN0aW9uIGBkZXNjcmliZS1mb250c2V0JyBmb3IgdGhlIGZvcm1hdCBvZiB0aGUgbGlz dC4iCiAgICAgICAocHJpbmMgIgogTm8gaW5wdXQgbWV0aG9kIGlzIGF2YWlsYWJsZSwgcGVy aGFwcyBiZWNhdXNlIHlvdSBoYXZlIG5vdAogaW5zdGFsbGVkIExFSU0gKExpYnJhcmllcyBv ZiBFbWFjcyBJbnB1dCBNZXRob2RzKS4iKQotICAgIChwcmluYyAiTEFOR1VBR0VcbiAgTkFN RSAoYFRJVExFJyBpbiBtb2RlIGxpbmUpXG4iKQorICAgIChwcmluYyAiTEFOR1VBR0VcbiAg TkFNRSAo4oCYVElUTEXigJkgaW4gbW9kZSBsaW5lKVxuIikKICAgICAocHJpbmMgIiAgICBT SE9SVC1ERVNDUklQVElPTlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKQog ICAgIChzZXRxIGlucHV0LW1ldGhvZC1hbGlzdAogCSAgKHNvcnQgaW5wdXQtbWV0aG9kLWFs aXN0CkBAIC0xMDU4LDcgKzEwNTgsNyBAQCBpbnN0YWxsZWQgTEVJTSAoTGlicmFyaWVzIG9m IEVtYWNzIElucHV0IE1ldGhvZHMpLiIpCiAJICAoc2V0cSBsYW5ndWFnZSAobnRoIDEgZWx0 KSkKIAkgIChwcmluYyBsYW5ndWFnZSkKIAkgICh0ZXJwcmkpKQotCShwcmluYyAoZm9ybWF0 ICIgICVzIChgJXMnIGluIG1vZGUgbGluZSlcbiAgICAlc1xuIgorCShwcmluYyAoZm9ybWF0 ICIgICVzICjigJglc+KAmSBpbiBtb2RlIGxpbmUpXG4gICAgJXNcbiIKIAkJICAgICAgIChj YXIgZWx0KQogCQkgICAgICAgKGxldCAoKHRpdGxlIChudGggMyBlbHQpKSkKIAkJCSAoaWYg KGFuZCAoY29uc3AgdGl0bGUpIChzdHJpbmdwIChjYXIgdGl0bGUpKSkKQEAgLTEwNjYsOCAr MTA2Niw5IEBAIGluc3RhbGxlZCBMRUlNIChMaWJyYXJpZXMgb2YgRW1hY3MgSW5wdXQgTWV0 aG9kcykuIikKIAkJCSAgIHRpdGxlKSkKIAkJICAgICAgIDs7IElmIHRoZSBkb2MgaXMgbXVs dGktbGluZSwgaW5kZW50IGFsbAogCQkgICAgICAgOzsgbm9uLWJsYW5rIGxpbmVzLiAoQnVn IzgwNjYpCi0JCSAgICAgICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nICJcblxcKC5cXCki ICJcbiAgICBcXDEiCi0JCQkJCQkgKG9yIChudGggNCBlbHQpICIiKSkpKSkpKSkKKwkJICAg ICAgIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcKKyAgICAgICAgICAgICAgICAgICAgICAg ICJcblxcKC5cXCkiICJcbiAgICBcXDEiCisgICAgICAgICAgICAgICAgICAgICAgICAoc3Vi c3RpdHV0ZS1jb21tYW5kLWtleXMgKG9yIChudGggNCBlbHQpICIiKSkpKSkpKSkpCiAMCiA7 OzsgRElBR05PU0lTCiAKZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL2VsaXNwLW1vZGUu ZWwgYi9saXNwL3Byb2dtb2Rlcy9lbGlzcC1tb2RlLmVsCmluZGV4IGUwNmI5MjAuLmIwNzAw MjkgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VsaXNwLW1vZGUuZWwKKysrIGIvbGlz cC9wcm9nbW9kZXMvZWxpc3AtbW9kZS5lbApAQCAtMjMxLDcgKzIzMSw3IEBAIEJsYW5rIGxp bmVzIHNlcGFyYXRlIHBhcmFncmFwaHMuICBTZW1pY29sb25zIHN0YXJ0IGNvbW1lbnRzLgog ICAobGlzcC1tb2RlLXZhcmlhYmxlcyBuaWwgbmlsICdlbGlzcCkKICAgKGFkZC1ob29rICdh ZnRlci1sb2FkLWZ1bmN0aW9ucyAjJ2VsaXNwLS1mb250LWxvY2stZmx1c2gtZWxpc3AtYnVm ZmVycykKICAgKHNldHEtbG9jYWwgZWxlY3RyaWMtcGFpci10ZXh0LXBhaXJzCi0gICAgICAg ICAgICAgIChjb25zICcoP1xgIC4gP1wnKSBlbGVjdHJpYy1wYWlyLXRleHQtcGFpcnMpKQor ICAgICAgICAgICAgICAoYXBwZW5kICcoKD9cYCAuID9cJykgKD/igJggLiA/4oCZKSkgZWxl Y3RyaWMtcGFpci10ZXh0LXBhaXJzKSkKICAgKHNldHEgaW1lbnUtY2FzZS1mb2xkLXNlYXJj aCBuaWwpCiAgIChhZGQtZnVuY3Rpb24gOmJlZm9yZS11bnRpbCAobG9jYWwgJ2VsZG9jLWRv Y3VtZW50YXRpb24tZnVuY3Rpb24pCiAgICAgICAgICAgICAgICAgIydlbGlzcC1lbGRvYy1k b2N1bWVudGF0aW9uLWZ1bmN0aW9uKQpAQCAtMzk0LDcgKzM5NCw3IEBAIEl0IGNhbiBiZSBx dW90ZWQsIG9yIGJlIGluc2lkZSBhIHF1b3RlZCBmb3JtLiIKICAgICAgICAgICAgICAgICgo b3IgKGVxIChjaGFyLWFmdGVyKSA/XFspCiAgICAgICAgICAgICAgICAgICAgIChwcm9nbgog ICAgICAgICAgICAgICAgICAgICAgIChza2lwLWNoYXJzLWJhY2t3YXJkICIgIikKLSAgICAg ICAgICAgICAgICAgICAgICAobWVtcSAoY2hhci1iZWZvcmUpICcoPycgP2ApKSkpCisgICAg ICAgICAgICAgICAgICAgICAgKG1lbXEgKGNoYXItYmVmb3JlKSAnKD8nID9gID/igJgpKSkp CiAgICAgICAgICAgICAgICAgKHNldHEgcmVzIHQpKQogICAgICAgICAgICAgICAgKChlcSAo Y2hhci1iZWZvcmUpID8sKQogICAgICAgICAgICAgICAgIChzZXRxIG5lc3RpbmcgbmlsKSkp KQpAQCAtNDU5LDcgKzQ1OSw3IEBAIEl0IGNhbiBiZSBxdW90ZWQsIG9yIGJlIGluc2lkZSBh IHF1b3RlZCBmb3JtLiIKIAkgICAoYmVnIChjb25kaXRpb24tY2FzZSBuaWwKIAkJICAgIChz YXZlLWV4Y3Vyc2lvbgogCQkgICAgICAoYmFja3dhcmQtc2V4cCAxKQotCQkgICAgICAoc2tp cC1zeW50YXgtZm9yd2FyZCAiJyIpCisJCSAgICAgIChza2lwLWNoYXJzLWZvcndhcmQgImAn LOKAmCIpCiAJCSAgICAgIChwb2ludCkpCiAJCSAgKHNjYW4tZXJyb3IgcG9zKSkpCiAJICAg KGVuZApAQCAtNDcwLDcgKzQ3MCw3IEBAIEl0IGNhbiBiZSBxdW90ZWQsIG9yIGJlIGluc2lk ZSBhIHF1b3RlZCBmb3JtLiIKIAkJICAoc2F2ZS1leGN1cnNpb24KIAkJICAgIChnb3RvLWNo YXIgYmVnKQogCQkgICAgKGZvcndhcmQtc2V4cCAxKQotICAgICAgICAgICAgICAgICAgICAo c2tpcC1jaGFycy1iYWNrd2FyZCAiJyIpCisgICAgICAgICAgICAgICAgICAgIChza2lwLWNo YXJzLWJhY2t3YXJkICIn4oCZIikKIAkJICAgICh3aGVuICg+PSAocG9pbnQpIHBvcykKIAkJ ICAgICAgKHBvaW50KSkpCiAJCShzY2FuLWVycm9yIHBvcykpKSkKQEAgLTQ3OCw3ICs0Nzgs NyBAQCBJdCBjYW4gYmUgcXVvdGVkLCBvciBiZSBpbnNpZGUgYSBxdW90ZWQgZm9ybS4iCiAg ICAgICAgICAgIChmdW5wb3MgKGVxIChjaGFyLWJlZm9yZSBiZWcpID9cKCkpCiAgICAgICAg ICAgIChxdW90ZWQgKGVsaXNwLS1mb3JtLXF1b3RlZC1wIGJlZykpKQogICAgICAgKHdoZW4g KGFuZCBlbmQgKG9yIChub3QgKG50aCA4IChzeW50YXgtcHBzcykpKQotICAgICAgICAgICAg ICAgICAgICAgICAgIChlcSAoY2hhci1iZWZvcmUgYmVnKSA/YCkpKQorICAgICAgICAgICAg ICAgICAgICAgICAgIChtZW1xIChjaGFyLWJlZm9yZSBiZWcpICcoP2AgP+KAmCkpKSkKICAg ICAgICAgKGxldCAoKHRhYmxlLWV0YwogICAgICAgICAgICAgICAgKGlmIChvciAobm90IGZ1 bnBvcykgcXVvdGVkKQogICAgICAgICAgICAgICAgICAgIDs7IEZJWE1FOiBXZSBjb3VsZCBs b29rIGF0IHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0IGFuZApAQCAtOTAxLDE1ICs5 MDEsMTcgQEAgSWYgQ0hBUiBpcyBub3QgYSBjaGFyYWN0ZXIsIHJldHVybiBuaWwuIgogKGRl ZnVuIGVsaXNwLS1wcmVjZWRpbmctc2V4cCAoKQogICAiUmV0dXJuIHNleHAgYmVmb3JlIHRo ZSBwb2ludC4iCiAgIChsZXQgKChvcG9pbnQgKHBvaW50KSkKLQlpZ25vcmUtcXVvdGVzCisJ KGxlZnQtcXVvdGUgP+KAmCkKIAlleHByKQogICAgIChzYXZlLWV4Y3Vyc2lvbgogICAgICAg KHdpdGgtc3ludGF4LXRhYmxlIGVtYWNzLWxpc3AtbW9kZS1zeW50YXgtdGFibGUKLQk7OyBJ ZiB0aGlzIHNleHAgYXBwZWFycyB0byBiZSBlbmNsb3NlZCBpbiBgLi4uJworCTs7IElmIHRo aXMgc2V4cCBhcHBlYXJzIHRvIGJlIGVuY2xvc2VkIGluIGAuLi4nIG9yIOKAmC4uLuKAmQog CTs7IHRoZW4gaWdub3JlIHRoZSBzdXJyb3VuZGluZyBxdW90ZXMuCi0JKHNldHEgaWdub3Jl LXF1b3RlcwotCSAgICAgIChvciAoZXEgKGZvbGxvd2luZy1jaGFyKSA/XCcpCi0JCSAgKGVx IChwcmVjZWRpbmctY2hhcikgP1wnKSkpCisJKGNvbmQgKChlcSAocHJlY2VkaW5nLWNoYXIp ID/igJkpCisJICAgICAgIChwcm9nbiAoZm9yd2FyZC1jaGFyIC0xKSAoc2V0cSBvcG9pbnQg KHBvaW50KSkpKQorCSAgICAgICgob3IgKGVxIChmb2xsb3dpbmctY2hhcikgP1wnKQorCQkg ICAoZXEgKHByZWNlZGluZy1jaGFyKSA/XCcpKQorCSAgICAgICAoc2V0cSBsZWZ0LXF1b3Rl ID9cYCkpKQogCShmb3J3YXJkLXNleHAgLTEpCiAJOzsgSWYgd2Ugd2VyZSBhZnRlciBgP1xl JyAob3Igc2ltaWxhciBjYXNlKSwKIAk7OyB1c2UgdGhlIHdob2xlIHRoaW5nLCBub3QganVz dCB0aGUgYGUnLgpAQCAtOTMzLDcgKzkzNSw3IEBAIElmIENIQVIgaXMgbm90IGEgY2hhcmFj dGVyLCByZXR1cm4gbmlsLiIKIAkgICAgICAoZm9yd2FyZC1zZXhwIC0xKSkpKQogCiAJKHNh dmUtcmVzdHJpY3Rpb24KLQkgIChpZiAoYW5kIGlnbm9yZS1xdW90ZXMgKGVxIChmb2xsb3dp bmctY2hhcikgP2ApKQorCSAgKGlmIChlcSAoZm9sbG93aW5nLWNoYXIpIGxlZnQtcXVvdGUp CiAgICAgICAgICAgICAgIDs7IHZsYWRpbWlyQGNzLnVhbGJlcnRhLmNhIDMwLUp1bC0xOTk3 OiBTa2lwIGAgaW4gYHZhcmlhYmxlJyBzbwogICAgICAgICAgICAgICA7OyB0aGF0IHRoZSB2 YWx1ZSBpcyByZXR1cm5lZCwgbm90IHRoZSBuYW1lLgogCSAgICAgIChmb3J3YXJkLWNoYXIp KQpkaWZmIC0tZ2l0IGEvbGlzcC93aWQtZWRpdC5lbCBiL2xpc3Avd2lkLWVkaXQuZWwKaW5k ZXggMGE5NTc4My4uZGFjM2IxZSAxMDA2NDQKLS0tIGEvbGlzcC93aWQtZWRpdC5lbAorKysg Yi9saXNwL3dpZC1lZGl0LmVsCkBAIC0yODYzLDcgKzI4NjMsNyBAQCBUaGUgZm9sbG93aW5n IHByb3BlcnRpZXMgaGF2ZSBzcGVjaWFsIG1lYW5pbmdzIGZvciB0aGlzIHdpZGdldDoKICAg OnR5cGUgJ2Jvb2xlYW4KICAgOmdyb3VwICd3aWRnZXQtZG9jdW1lbnRhdGlvbikKIAotKGRl ZmN1c3RvbSB3aWRnZXQtZG9jdW1lbnRhdGlvbi1saW5rLXJlZ2V4cCAiYFxcKFteXG5gJyBd K1xcKSciCisoZGVmY3VzdG9tIHdpZGdldC1kb2N1bWVudGF0aW9uLWxpbmstcmVnZXhwICJb YOKAmF1cXChbXlxuIGAn4oCY4oCZXStcXClbJ+KAmV0iCiAgICJSZWdleHAgZm9yIG1hdGNo aW5nIHBvdGVudGlhbCBsaW5rcyBpbiBkb2N1bWVudGF0aW9uIHN0cmluZ3MuCiBUaGUgZmly c3QgZ3JvdXAgc2hvdWxkIGJlIHRoZSBsaW5rIGl0c2VsZi4iCiAgIDp0eXBlICdyZWdleHAK LS0gCjIuMS4wCgo= --------------090309040807000200070508 Content-Type: text/plain; charset=UTF-8; name="0003-Fix-minor-quoting-problems-in-doc-strings.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-Fix-minor-quoting-problems-in-doc-strings.txt" RnJvbSA2NTEyN2MzYWYzNjAzNGUxZWZkNzQyNTE2MDNiNjI1NmNkYzFiNWVmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDIwIE1heSAyMDE1IDIzOjU1OjQxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAzLzNdIEZpeCBtaW5vciBxdW90aW5nIHByb2JsZW1zIGluIGRvYyBzdHJpbmdzCgpNb3N0 IG9mIHRoZXNlIGZpeGVzIGludm9sdmUgZXNjYXBpbmcgZ3JhdmUgYWNjZW50cyB0aGF0IGFy ZQphY3R1YWxseSBpbnRlbmRlZCB0byBiZSBncmF2ZSBhY2NlbnRzLCBub3QgbGVmdCBxdW90 ZXMuCihCdWcjMjAzODUpCi0tLQogZXRjL2VkdC11c2VyLmVsICAgICAgICAgICAgICAgICAg ICAgIHwgICAyICstCiBsaXNwL2NhbGMvY2FsYy1taXNjLmVsICAgICAgICAgICAgICAgfCAg IDQgKy0KIGxpc3AvY2VkZXQvc2VtYW50aWMvd2lzZW50L3dpc2VudC5lbCB8ICAgOCArLQog bGlzcC9jZWRldC9zcmVjb2RlL3RleGkuZWwgICAgICAgICAgIHwgICAyICstCiBsaXNwL2Vt YWNzLWxpc3AvbWFjcm9leHAuZWwgICAgICAgICAgfCAgIDIgKy0KIGxpc3AvZW11bGF0aW9u L3ZpcGVyLWNtZC5lbCAgICAgICAgICB8ICAgMiArLQogbGlzcC9lcmMvZXJjLmVsICAgICAg ICAgICAgICAgICAgICAgIHwgICAyICstCiBsaXNwL2VzaGVsbC9lbS1kaXJzLmVsICAgICAg ICAgICAgICAgfCAgIDIgKy0KIGxpc3AvZmlsZXMuZWwgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMiArLQogbGlzcC9nbnVzL3NtaW1lLmVsICAgICAgICAgICAgICAgICAgIHwgICAy ICstCiBsaXNwL2lkby5lbCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIGxp c3AvbGFuZ3VhZ2UvZXRoaW8tdXRpbC5lbCAgICAgICAgICB8ICAgNiArLQogbGlzcC9sZWlt L3F1YWlsL2N5cmlsbGljLmVsICAgICAgICAgIHwgICA0ICstCiBsaXNwL2xlaW0vcXVhaWwv Z3JlZWsuZWwgICAgICAgICAgICAgfCAgIDIgKy0KIGxpc3AvbGVpbS9xdWFpbC9oZWJyZXcu ZWwgICAgICAgICAgICB8ICAgNiArLQogbGlzcC9sZWltL3F1YWlsL2xhdGluLWFsdC5lbCAg ICAgICAgIHwgMTUwICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBsaXNw L2xlaW0vcXVhaWwvbGF0aW4tcG9zdC5lbCAgICAgICAgfCAgMjYgKysrLS0tCiBsaXNwL2xl aW0vcXVhaWwvbGF0aW4tcHJlLmVsICAgICAgICAgfCAgMjQgKysrLS0tCiBsaXNwL2xlaW0v cXVhaWwvdGhhaS5lbCAgICAgICAgICAgICAgfCAgIDIgKy0KIGxpc3AvbGVpbS9xdWFpbC90 aWJldGFuLmVsICAgICAgICAgICB8ICAgMiArLQogbGlzcC9sZWltL3F1YWlsL3ZpcXIuZWwg ICAgICAgICAgICAgIHwgICAyICstCiBsaXNwL29ic29sZXRlL2lzby1hY2MuZWwgICAgICAg ICAgICAgfCAgIDQgKy0KIGxpc3Avb2Jzb2xldGUvc2NyaWJlLmVsICAgICAgICAgICAgICB8 ICAgOCArLQogbGlzcC9vYnNvbGV0ZS9zcmVnZXguZWwgICAgICAgICAgICAgIHwgICAyICst CiBsaXNwL29ic29sZXRlL3RwdS1lZHQuZWwgICAgICAgICAgICAgfCAgIDIgKy0KIGxpc3Av b2Jzb2xldGUvdHB1LW1hcHBlci5lbCAgICAgICAgICB8ICAgMiArLQogbGlzcC9vcmcvb2It Y29yZS5lbCAgICAgICAgICAgICAgICAgIHwgICAyICstCiBsaXNwL29yZy9vcmctYWdlbmRh LmVsICAgICAgICAgICAgICAgfCAgIDIgKy0KIGxpc3AvcHJvZ21vZGVzL2NwZXJsLW1vZGUu ZWwgICAgICAgICB8ICAgOCArLQogbGlzcC9wcm9nbW9kZXMvZjkwLmVsICAgICAgICAgICAg ICAgIHwgICA0ICstCiBsaXNwL3Byb2dtb2Rlcy9pZGx3YXZlLmVsICAgICAgICAgICAgfCAg IDQgKy0KIGxpc3AvcHJvZ21vZGVzL3NoLXNjcmlwdC5lbCAgICAgICAgICB8ICAgMiArLQog bGlzcC9wcm9nbW9kZXMvdmVyaWxvZy1tb2RlLmVsICAgICAgIHwgIDc2ICsrKysrKysrKy0t LS0tLS0tLQogbGlzcC9za2VsZXRvbi5lbCAgICAgICAgICAgICAgICAgICAgIHwgICAyICst CiBsaXNwL3RleHRtb2Rlcy90ZXgtbW9kZS5lbCAgICAgICAgICAgfCAgIDggKy0KIGxpc3Av dGV4dG1vZGVzL3RleGluZm10LmVsICAgICAgICAgICB8ICAgNiArLQogbGlzcC90ZXh0bW9k ZXMvdGV4aW5mby5lbCAgICAgICAgICAgIHwgICAyICstCiAzNyBmaWxlcyBjaGFuZ2VkLCAx OTUgaW5zZXJ0aW9ucygrKSwgMTk1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2V0Yy9l ZHQtdXNlci5lbCBiL2V0Yy9lZHQtdXNlci5lbAppbmRleCBlMGY1YjI5Li4yNjY2ODU2IDEw MDY0NAotLS0gYS9ldGMvZWR0LXVzZXIuZWwKKysrIGIvZXRjL2VkdC11c2VyLmVsCkBAIC0x NjAsNyArMTYwLDcgQEAgRy1DLVxcOiBTcGxpdCBXaW5kb3cKICAgRy0lOiBHbyB0byBQZXJj ZW50YWdlCiAgIEctIDogVW5kbyAgKEdPTEQgU3BhY2ViYXIpCiAgIEctPTogR28gdG8gTGlu ZQotICBHLWA6IFdoYXQgbGluZQorICBHLVxcPWA6IFdoYXQgbGluZQogICBHLS86IFF1ZXJ5 LVJlcGxhY2UiCiAKICAgKGludGVyYWN0aXZlKQpkaWZmIC0tZ2l0IGEvbGlzcC9jYWxjL2Nh bGMtbWlzYy5lbCBiL2xpc3AvY2FsYy9jYWxjLW1pc2MuZWwKaW5kZXggOWM1ZDcxOC4uNjBj NmZiOSAxMDA2NDQKLS0tIGEvbGlzcC9jYWxjL2NhbGMtbWlzYy5lbAorKysgYi9saXNwL2Nh bGMvY2FsYy1taXNjLmVsCkBAIC04OSw3ICs4OSw3IEBAIEZvciB1c2Ugd2l0aCBFbWJlZGRl ZCBtb2RlOgogICBOICBjYWxjLWVtYmVkZGVkLW5leHQuICBBZHZhbmNlIGN1cnNvciB0byBu ZXh0IGtub3duIGZvcm11bGEgaW4gYnVmZmVyLgogICBQICBjYWxjLWVtYmVkZGVkLXByZXZp b3VzLiAgQWR2YW5jZSBjdXJzb3IgdG8gcHJldmlvdXMga25vd24gZm9ybXVsYS4KICAgVSAg Y2FsYy1lbWJlZGRlZC11cGRhdGUtZm9ybXVsYS4gIFJlLWV2YWx1YXRlIGZvcm11bGEgYXQg cG9pbnQuCi0gIGAgIGNhbGMtZW1iZWRkZWQtZWRpdC4gIFVzZSBjYWxjLWVkaXQgdG8gZWRp dCBmb3JtdWxhIGF0IHBvaW50LgorICBcXD1gICBjYWxjLWVtYmVkZGVkLWVkaXQuICBVc2Ug Y2FsYy1lZGl0IHRvIGVkaXQgZm9ybXVsYSBhdCBwb2ludC4KIAogRG9jdW1lbnRhdGlvbjoK ICAgSSAgY2FsYy1pbmZvLiAgUmVhZCB0aGUgQ2FsY3VsYXRvciBtYW51YWwgaW4gdGhlIEVt YWNzIEluZm8gc3lzdGVtLgpAQCAtMjI1LDcgKzIyNSw3IEBAIENhbGMgdXNlciBpbnRlcmZh Y2UgYXMgYmVmb3JlIChlaXRoZXIgQy14ICogQyBvciBDLXggKiBLOyBpbml0aWFsbHkgQy14 ICogQykuCiAJICAgIkxldHRlciBrZXlzOiBTSElGVCArIE51bS1ldmFsOyBNb3JlLXJlY247 IGVYZWMta2JkLW1hY3JvOyBLZWVwLWFyZ3MiCiAJICAgIk90aGVyIGtleXM6ICssIC0sICos IC8sIF4sIFxcIChpbnQgZGl2KSwgOiAoZnJhYyBkaXYpIgogCSAgICJPdGhlciBrZXlzOiAm ICgxL3gpLCB8IChjb25jYXQpLCAlIChtb2R1bG8pLCAhIChmYWN0b3JpYWwpIgotCSAgICJP dGhlciBrZXlzOiAnIChhbGctZW50cnkpLCA9IChldmFsKSwgYCAoZWRpdCk7IE0tUkVUIChs YXN0LWFyZ3MpIgorCSAgICJPdGhlciBrZXlzOiAnIChhbGctZW50cnkpLCA9IChldmFsKSwg XFw9YCAoZWRpdCk7IE0tUkVUIChsYXN0LWFyZ3MpIgogCSAgICJPdGhlciBrZXlzOiBTUEMv UkVUIChlbnRlci9kdXApLCBMRkQgKG92ZXIpOyA8ID4gKHNjcm9sbCBob3JpeikiCiAJICAg Ik90aGVyIGtleXM6IERFTCAoZHJvcCksIE0tREVMIChkcm9wLWFib3ZlKTsgeyB9IChzY3Jv bGwgdmVydCkiCiAJICAgIk90aGVyIGtleXM6IFRBQiAoc3dhcC9yb2xsLWRuKSwgTS1UQUIg KHJvbGwtdXApIgpkaWZmIC0tZ2l0IGEvbGlzcC9jZWRldC9zZW1hbnRpYy93aXNlbnQvd2lz ZW50LmVsIGIvbGlzcC9jZWRldC9zZW1hbnRpYy93aXNlbnQvd2lzZW50LmVsCmluZGV4IGZk MDAwODAuLmZiNzdjYjMgMTAwNjQ0Ci0tLSBhL2xpc3AvY2VkZXQvc2VtYW50aWMvd2lzZW50 L3dpc2VudC5lbAorKysgYi9saXNwL2NlZGV0L3NlbWFudGljL3dpc2VudC93aXNlbnQuZWwK QEAgLTQ0LDExICs0NCwxMSBAQAogICAiCiAgICAgICAgICAgIC9cXF8uLV5eXi0uXy9cXCAg ICAgVGhlIEdOVQogICAgICAgICAgICBcXF8gICAgICAgICBfLwotICAgICAgICAgICAgKCAg ICAgYG8gIGAgICAgICAoRXVyb3BlYW4gOy0pIEJpc29uCi0gICAgICAgICAgICAgXFwgICAg ICBgIC8KKyAgICAgICAgICAgICggICAgIFxcPWBvICBcXD1gICAgICAgKEV1cm9wZWFuIDst KSBCaXNvbgorICAgICAgICAgICAgIFxcICAgICAgXFw9YCAvCiAgICAgICAgICAgICAgKCAg IEQgICxcIiAgICAgICBmb3IgRW1hY3MhCi0gICAgICAgICAgICAgIGAgfiAsXCIKLSAgICAg ICAgICAgICAgIGBcIlwiIgorICAgICAgICAgICAgICBcXD1gIH4gLFwiCisgICAgICAgICAg ICAgICBcXD1gXCJcIiIKICAgOmdyb3VwICdzZW1hbnRpYykKIAogDApkaWZmIC0tZ2l0IGEv bGlzcC9jZWRldC9zcmVjb2RlL3RleGkuZWwgYi9saXNwL2NlZGV0L3NyZWNvZGUvdGV4aS5l bAppbmRleCBiNzVhNjYwOS4uNmM4ZjdhNiAxMDA2NDQKLS0tIGEvbGlzcC9jZWRldC9zcmVj b2RlL3RleGkuZWwKKysrIGIvbGlzcC9jZWRldC9zcmVjb2RlL3RleGkuZWwKQEAgLTI0NSw3 ICsyNDUsNyBAQCB0aGF0IGNsYXNzLgogIHZhcmlhYmxlICAgPT4gQGNvZGV7dmFyaWFibGV9 CiAgY2xhc3MgICAgICA9PiBAY29kZXtjbGFzc30gQHhyZWZ7Y2xhc3N9CiAgdW5rbm93biAg ICA9PiBAY29kZXt1bmtub3dufQotIFwiIHRleHQgXCIgICA9PiBgYCB0ZXh0ICcnCisgXCJ0 ZXh0XCIgICAgID0+IFxcPWBcXD1gdGV4dCcnCiAgJ3F1b3RlbWUgICA9PiBAY29kZXtxdW90 ZW1lfQogIG5vbi1uaWwgICAgPT4gbm9uLUBjb2Rle25pbH0KICB0ICAgICAgICAgID0+IEBj b2Rle3R9CmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvbWFjcm9leHAuZWwgYi9saXNw L2VtYWNzLWxpc3AvbWFjcm9leHAuZWwKaW5kZXggZjA0MTBmOC4uMDVmZmE4ZCAxMDA2NDQK LS0tIGEvbGlzcC9lbWFjcy1saXNwL21hY3JvZXhwLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlz cC9tYWNyb2V4cC5lbApAQCAtMzQzLDcgKzM0Myw3IEBAIGRlZmluaXRpb25zIHRvIHNoYWRv dyB0aGUgbG9hZGVkIG9uZXMgZm9yIHVzZSBpbiBmaWxlIGJ5dGUtY29tcGlsYXRpb24uIgog CiAoZGVmbWFjcm8gbWFjcm9leHAtbGV0MiAodGVzdCB2YXIgZXhwICZyZXN0IGV4cHMpCiAg ICJCaW5kIFZBUiB0byBhIGNvcHlhYmxlIGV4cHJlc3Npb24gdGhhdCByZXR1cm5zIHRoZSB2 YWx1ZSBvZiBFWFAuCi1UaGlzIGlzIGxpa2UgYChsZXQgKCh2ICxFWFApKSAsRVhQUykgZXhj ZXB0IHRoYXQgYHYnIGlzIGEgbmV3IGdlbmVyYXRlZAorVGhpcyBpcyBsaWtlIFxcPWAobGV0 ICgodiAsRVhQKSkgLEVYUFMpIGV4Y2VwdCB0aGF0IGB2JyBpcyBhIG5ldyBnZW5lcmF0ZWQK IHN5bWJvbCB3aGljaCBFWFBTIGNhbiBmaW5kIGluIFZBUi4KIFRFU1Qgc2hvdWxkIGJlIHRo ZSBuYW1lIG9mIGEgcHJlZGljYXRlIG9uIEVYUCBjaGVja2luZyB3aGV0aGVyIHRoZSBgbGV0 JyBjYW4KIGJlIHNraXBwZWQ7IGlmIG5pbCwgYXMgaXMgdXN1YWwsIGBtYWNyb2V4cC1jb25z dC1wJyBpcyB1c2VkLiIKZGlmZiAtLWdpdCBhL2xpc3AvZW11bGF0aW9uL3ZpcGVyLWNtZC5l bCBiL2xpc3AvZW11bGF0aW9uL3ZpcGVyLWNtZC5lbAppbmRleCA1YzkxZGY5Li41ZTE2MjBk IDEwMDY0NAotLS0gYS9saXNwL2VtdWxhdGlvbi92aXBlci1jbWQuZWwKKysrIGIvbGlzcC9l bXVsYXRpb24vdmlwZXItY21kLmVsCkBAIC00NDAwLDcgKzQ0MDAsNyBAQCBhbmQgcmVnZXhw IHJlcGxhY2UuIgogOzsgZXRjLgogKGRlZnVuIHZpcGVyLWN5Y2xlLXRocm91Z2gtbWFyay1y aW5nICgpCiAgICJWaXNpdCBwcmV2aW91cyBsb2NhdGlvbnMgb24gdGhlIG1hcmsgcmluZy4K LU9uZSBjYW4gdXNlIGBgIGFuZCAnJyB0byB0ZW1wb3JhcmlseSBqdW1wIDEgc3RlcCBiYWNr LiIKK09uZSBjYW4gdXNlIFxcPWBcXD1gIGFuZCAnJyB0byB0ZW1wb3JhcmlseSBqdW1wIDEg c3RlcCBiYWNrLiIKICAgKGxldCogKChzdi1wdCAocG9pbnQpKSkKICAgICAgICA7OyBpZiBy ZXBlYXRlZCBgbSwnIGNvbW1hbmQsIHBvcCB0aGUgcHJldmlvdXNseSBzYXZlZCBtYXJrLgog ICAgICAgIDs7IFByZXYgc2F2ZWQgbWFyayBpcyBhY3R1YWxseSBwcmV2IHNhdmVkIHBvaW50 LiAgSXQgaXMgdXNlZCBpZiB0aGUKZGlmZiAtLWdpdCBhL2xpc3AvZXJjL2VyYy5lbCBiL2xp c3AvZXJjL2VyYy5lbAppbmRleCBjZjQyMmYxLi40NTM3NzQ1IDEwMDY0NAotLS0gYS9saXNw L2VyYy9lcmMuZWwKKysrIGIvbGlzcC9lcmMvZXJjLmVsCkBAIC0yNDYwLDcgKzI0NjAsNyBA QCBvbiB0aGUgZ2l2ZW4gc2VydmVyLiIpCiAoZGVmY3VzdG9tIGVyYy1sdXJrZXItdHJpbS1u aWNrcyB0CiAgICJJZiB0LCB0cmltIHRyYWlsaW5nIGBlcmMtbHVya2VyLWlnbm9yZS1jaGFy cycgZnJvbSBuaWNrcy4KIAotVGhpcyBjYXVzZXMgZS5nLiBuaWNrIGFuZCBuaWNrYCB0byBi ZSBjb25zaWRlcmVkIGFzIHRoZSBzYW1lCitUaGlzIGNhdXNlcyBlLmcuIG5pY2sgYW5kIG5p Y2tcXD1gIHRvIGJlIGNvbnNpZGVyZWQgYXMgdGhlIHNhbWUKIGluZGl2aWR1YWwgZm9yIGFj dGl2aXR5IHRyYWNraW5nIGFuZCBsdXJraW5lc3MgZGV0ZWN0aW9uCiBwdXJwb3Nlcy4iCiAg IDpncm91cCAnZXJjLWx1cmtlcgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0tZGlycy5l bCBiL2xpc3AvZXNoZWxsL2VtLWRpcnMuZWwKaW5kZXggODRkNDZkYy4uOTgwYTM0MCAxMDA2 NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0tZGlycy5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1k aXJzLmVsCkBAIC0zMDAsNyArMzAwLDcgQEAgVGh1cywgdGhpcyBkb2VzIG5vdCBpbmNsdWRl IHRoZSBjdXJyZW50IGRpcmVjdG9yeS4iKQogCQkgZXNoZWxsLXVzZXItbmFtZXMpKSkpKSkp CiAKIChkZWZ1biBlc2hlbGwvcHdkICgmcmVzdCBhcmdzKQotICAiQ2hhbmdlIG91dHB1dCBm cm9tIGBwd2RgIHRvIGJlIGNsZWFuZXIuIgorICAiQ2hhbmdlIG91dHB1dCBmcm9tIFxcPWBw d2RcXD1gIHRvIGJlIGNsZWFuZXIuIgogICAobGV0KiAoKHBhdGggZGVmYXVsdC1kaXJlY3Rv cnkpCiAJIChsZW4gKGxlbmd0aCBwYXRoKSkpCiAgICAgKGlmIChhbmQgKD4gbGVuIDEpCmRp ZmYgLS1naXQgYS9saXNwL2ZpbGVzLmVsIGIvbGlzcC9maWxlcy5lbAppbmRleCBlZjZhYzdi Li5lNTRhMmJlIDEwMDY0NAotLS0gYS9saXNwL2ZpbGVzLmVsCisrKyBiL2xpc3AvZmlsZXMu ZWwKQEAgLTU1LDcgKzU1LDcgQEAgRlJPTSB3aXRoIFRPIHdoZW4gaXQgYXBwZWFycyBpbiBh IGRpcmVjdG9yeSBuYW1lLiAgVGhpcyByZXBsYWNlbWVudCBpcwogZG9uZSB3aGVuIHNldHRp bmcgdXAgdGhlIGRlZmF1bHQgZGlyZWN0b3J5IG9mIGEgbmV3bHkgdmlzaXRlZCBmaWxlLgog CiBGUk9NIGlzIG1hdGNoZWQgYWdhaW5zdCBkaXJlY3RvcnkgbmFtZXMgYW5jaG9yZWQgYXQg dGhlIGZpcnN0Ci1jaGFyYWN0ZXIsIHNvIGl0IHNob3VsZCBzdGFydCB3aXRoIGEgXCJcXFxc YFwiLCBvciwgaWYgZGlyZWN0b3J5CitjaGFyYWN0ZXIsIHNvIGl0IHNob3VsZCBzdGFydCB3 aXRoIGEgXCJcXFxcXFw9YFwiLCBvciwgaWYgZGlyZWN0b3J5CiBuYW1lcyBjYW5ub3QgaGF2 ZSBlbWJlZGRlZCBuZXdsaW5lcywgd2l0aCBhIFwiXlwiLgogCiBGUk9NIGFuZCBUTyBzaG91 bGQgYmUgZXF1aXZhbGVudCBuYW1lcywgd2hpY2ggcmVmZXIgdG8gdGhlCmRpZmYgLS1naXQg YS9saXNwL2dudXMvc21pbWUuZWwgYi9saXNwL2dudXMvc21pbWUuZWwKaW5kZXggNmYwNDNk Zi4uNzZkNThmNyAxMDA2NDQKLS0tIGEvbGlzcC9nbnVzL3NtaW1lLmVsCisrKyBiL2xpc3Av Z251cy9zbWltZS5lbApAQCAtMTU4LDcgKzE1OCw3IEBAIGNlcnRpZmljYXRlcyB0byBiZSBz ZW50IHdpdGggZXZlcnkgbWVzc2FnZSB0byBlYWNoIGFkZHJlc3MuIgogRGlyZWN0b3J5IHNo b3VsZCBjb250YWluIGZpbGVzIChpbiBQRU0gZm9ybWF0KSBuYW1lZCB0byB0aGUgWC41MDkK IGhhc2ggb2YgdGhlIGNlcnRpZmljYXRlLiAgVGhpcyBjYW4gYmUgZG9uZSB1c2luZyBPcGVu U1NMIHN1Y2ggYXM6CiAKLSQgbG4gLXMgY2EucGVtIGBvcGVuc3NsIHg1MDkgLW5vb3V0IC1o YXNoIC1pbiBjYS5wZW1gLjAKKyQgbG4gLXMgY2EucGVtIFxcPWBvcGVuc3NsIHg1MDkgLW5v b3V0IC1oYXNoIC1pbiBjYS5wZW1cXD1gLjAKIAogd2hlcmUgYGNhLnBlbScgaXMgdGhlIGZp bGUgY29udGFpbmluZyBhIFBFTSBlbmNvZGVkIFguNTA5IENBCiBjZXJ0aWZpY2F0ZS4iCmRp ZmYgLS1naXQgYS9saXNwL2lkby5lbCBiL2xpc3AvaWRvLmVsCmluZGV4IGI5N2Y3MmMuLjU5 OTVmY2QgMTAwNjQ0Ci0tLSBhL2xpc3AvaWRvLmVsCisrKyBiL2xpc3AvaWRvLmVsCkBAIC0z NzcsNyArMzc3LDcgQEAgdXNlIGVpdGhlciBcXFtjdXN0b21pemVdIG9yIHRoZSBmdW5jdGlv biBgaWRvLW1vZGUnLiIKICAgJygiXFxgICIpCiAgICJMaXN0IG9mIHJlZ2V4cHMgb3IgZnVu Y3Rpb25zIG1hdGNoaW5nIGJ1ZmZlciBuYW1lcyB0byBpZ25vcmUuCiBGb3IgZXhhbXBsZSwg dHJhZGl0aW9uYWwgYmVoYXZpb3IgaXMgbm90IHRvIGxpc3QgYnVmZmVycyB3aG9zZSBuYW1l cyBiZWdpbgotd2l0aCBhIHNwYWNlLCBmb3Igd2hpY2ggdGhlIHJlZ2V4cCBpcyDigJhcXGAg 4oCZLiAgU2VlIHRoZSBzb3VyY2UgZmlsZSBmb3IKK3dpdGggYSBzcGFjZSwgZm9yIHdoaWNo IHRoZSByZWdleHAgaXMg4oCYXFxcXD1gIOKAmS4gIFNlZSB0aGUgc291cmNlIGZpbGUgZm9y CiBleGFtcGxlIGZ1bmN0aW9ucyB0aGF0IGZpbHRlciBidWZmZXIgbmFtZXMuIgogICA6dHlw ZSAnKHJlcGVhdCAoY2hvaWNlIHJlZ2V4cCBmdW5jdGlvbikpCiAgIDpncm91cCAnaWRvKQpA QCAtMzg2LDcgKzM4Niw3IEBAIGV4YW1wbGUgZnVuY3Rpb25zIHRoYXQgZmlsdGVyIGJ1ZmZl ciBuYW1lcy4iCiAgICcoIlxcYENWUy8iICJcXGAjIiAiXFxgLiMiICJcXGBcXC5cXC4vIiAi XFxgXFwuLyIpCiAgICJMaXN0IG9mIHJlZ2V4cHMgb3IgZnVuY3Rpb25zIG1hdGNoaW5nIGZp bGUgbmFtZXMgdG8gaWdub3JlLgogRm9yIGV4YW1wbGUsIHRyYWRpdGlvbmFsIGJlaGF2aW9y IGlzIG5vdCB0byBsaXN0IGZpbGVzIHdob3NlIG5hbWVzIGJlZ2luCi13aXRoIGEgIywgZm9y IHdoaWNoIHRoZSByZWdleHAgaXMg4oCYXFxgI+KAmS4gIFNlZSB0aGUgc291cmNlIGZpbGUg Zm9yCit3aXRoIGEgIywgZm9yIHdoaWNoIHRoZSByZWdleHAgaXMg4oCYXFxcXD1gI+KAmS4g IFNlZSB0aGUgc291cmNlIGZpbGUgZm9yCiBleGFtcGxlIGZ1bmN0aW9ucyB0aGF0IGZpbHRl ciBmaWxlbmFtZXMuIgogICA6dHlwZSAnKHJlcGVhdCAoY2hvaWNlIHJlZ2V4cCBmdW5jdGlv bikpCiAgIDpncm91cCAnaWRvKQpkaWZmIC0tZ2l0IGEvbGlzcC9sYW5ndWFnZS9ldGhpby11 dGlsLmVsIGIvbGlzcC9sYW5ndWFnZS9ldGhpby11dGlsLmVsCmluZGV4IGEyN2Y3NDkuLjEy Nzg2NTcgMTAwNjQ0Ci0tLSBhL2xpc3AvbGFuZ3VhZ2UvZXRoaW8tdXRpbC5lbAorKysgYi9s aXNwL2xhbmd1YWdlL2V0aGlvLXV0aWwuZWwKQEAgLTEyOSw5ICsxMjksOSBAQCBpc29sYXRl ZCB2b3dlbC4iKQogICAiRGVncmVlIG9mIHJlZHVjdGlvbiBpbiBjb252ZXJ0aW5nIEV0aGlv cGljIGRpZ2l0cyBpbnRvIEFyYWJpYyBkaWdpdHMuCiBTaG91bGQgYmUgMCwgMSBvciAyLgog Rm9yIGV4YW1wbGUsICh7MTB9ezl9ezEwMH17ODB9ezd9KSBpcyBjb252ZXJ0ZWQgaW50bzoK LSAgICBgMTBgOWAxMDBgODBgNyAgaWYgYGV0aGlvLW51bWVyaWMtcmVkdWN0aW9uJyBpcyAw LAotICAgIGAxMDkxMDA4MDcJICAgIGlmIGBldGhpby1udW1lcmljLXJlZHVjdGlvbicgaXMg MSwKLSAgICBgMTA5MDA4MDcJICAgIGlmIGBldGhpby1udW1lcmljLXJlZHVjdGlvbicgaXMg Mi4iKQorICAgIFxcPWAxMFxcPWA5XFw9YDEwMFxcPWA4MFxcPWA3ICBpZiBgZXRoaW8tbnVt ZXJpYy1yZWR1Y3Rpb24nIGlzIDAsCisgICAgXFw9YDEwOTEwMDgwNwkgICAgaWYgYGV0aGlv LW51bWVyaWMtcmVkdWN0aW9uJyBpcyAxLAorICAgIFxcPWAxMDkwMDgwNwkgICAgaWYgYGV0 aGlvLW51bWVyaWMtcmVkdWN0aW9uJyBpcyAyLiIpCiAKIChkZWZ2YXIgZXRoaW8tamF2YS1z YXZlLWxvd2VyY2FzZSBuaWwKICAgIk5vbi1uaWwgbWVhbnMgc2F2ZSBFdGhpb3BpYyBjaGFy YWN0ZXJzIGluIGxvd2VyY2FzZSBoZXggbnVtYmVycyB0byBKYXZhIGZpbGVzLgpkaWZmIC0t Z2l0IGEvbGlzcC9sZWltL3F1YWlsL2N5cmlsbGljLmVsIGIvbGlzcC9sZWltL3F1YWlsL2N5 cmlsbGljLmVsCmluZGV4IDdjYWE1ZWMuLmVjZWUyNDMgMTAwNjQ0Ci0tLSBhL2xpc3AvbGVp bS9xdWFpbC9jeXJpbGxpYy5lbAorKysgYi9saXNwL2xlaW0vcXVhaWwvY3lyaWxsaWMuZWwK QEAgLTEyNDUsNyArMTI0NSw3IEBAIFRoaXMgcGhvbmV0aWMgbGF5b3V0IHJlcGxhY2VzIGFs bCB0aGUgTGF0aW4gbGV0dGVycyB3aXRoIEJ1bGdhcmlhbgogXChDeXJpbGxpYykgbGV0dGVy cyBiYXNlZCBvbiBzaW1pbGFyaXRpZXMgaW4gdGhlaXIgcHJvbnVuY2lhdGlvbiBvciBsb29r LgogCiBOb3RlIHRoYXQsIHNpbmNlIHRoZSBsZXR0ZXJzIOKAmNGJ4oCZLCDigJjRjOKAmSwg 4oCY0Y7igJkgYW5kIOKAmNGP4oCZIGFyZSBhdHRhY2hlZCB0byB0aGUKLeKAmF3igJksIOKA mFzigJksIOKAmGDigJkgYW5kIOKAmFvigJkga2V5cyByZXNwZWN0aXZlbHksIENhcHMgTG9j ayBkb2VzIG5vdCBhZmZlY3QgdGhlbS4iCivigJhd4oCZLCDigJhc4oCZLCDigJhcXD1g4oCZ IGFuZCDigJhb4oCZIGtleXMgcmVzcGVjdGl2ZWx5LCBDYXBzIExvY2sgZG9lcyBub3QgYWZm ZWN0IHRoZW0uIgogbmlsIHQgdCB0IHQgbmlsIG5pbCBuaWwgbmlsIG5pbCB0KQogCiA7OyAg 0K4gIDEhIDJAIDPihJYgNCQgNSUgNuKCrCA3wqcgOCogOSggMCkgLeKAkyA9KyDRjNGdCkBA IC0xNDEyLDcgKzE0MTIsNyBAQCBUaGUgbGV0dGVycyDQpiwg0JwsINCnLCDQoCwg0JssINCR IGFuZCDQqyBhcmUgbm90IGFmZmVjdGVkIGJ5IENhcHMgTG9jay4KIEluIGFkZGl0aW9uIHRv IG9yaWdpbmFsIEJ1bGdhcmlhbiB0eXBld3JpdGVyIGxheW91dCwga2V5cyBcXCBhbmQgfAog YXJlIHRyYW5zZm9ybWVkIGludG8gJyBhbmQg0KsgcmVzcGVjdGl2ZWx5LiAgU29tZSBrZXli b2FyZHMgbWFyayB0aGVzZQoga2V5cyBhcyBiZWluZyB0cmFuc2Zvcm1lZCBpbnRvICggYW5k ICkgcmVzcGVjdGl2ZWx5LiAgRm9yICggYW5kICksIHVzZQotYCBhbmQgfiByZXNwZWN0aXZl bHkuICBUaGlzIGlucHV0IG1ldGhvZCBmb2xsb3dzIFhLQi4iCitcXD1gIGFuZCB+IHJlc3Bl Y3RpdmVseS4gIFRoaXMgaW5wdXQgbWV0aG9kIGZvbGxvd3MgWEtCLiIKICBuaWwgdCB0IHQg dCBuaWwgbmlsIG5pbCBuaWwgbmlsIHQpCiAKIDs7ICAoKSAxISAyPyAzKyA0IiA1JSA2PSA3 OiA4LyA5XyAw4oSWIC1JIC5WCmRpZmYgLS1naXQgYS9saXNwL2xlaW0vcXVhaWwvZ3JlZWsu ZWwgYi9saXNwL2xlaW0vcXVhaWwvZ3JlZWsuZWwKaW5kZXggNWM1ZWFkNy4uY2Y5OTE1MCAx MDA2NDQKLS0tIGEvbGlzcC9sZWltL3F1YWlsL2dyZWVrLmVsCisrKyBiL2xpc3AvbGVpbS9x dWFpbC9ncmVlay5lbApAQCAtMTc5LDcgKzE3OSw3IEBAIG1hcmsJCWtleQogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiB5cG9nZWdyYW1tZW5pCUoKIHBzaWxpCQknICBvciAgdgotZGFz aWEJCWAgIG9yICBWCitkYXNpYQkJXFw9YCAgb3IgIFYKIG94aWEJCS8KIHZhcmlhCQk/CiBw ZXJpc3BvbWVuaQlcXCAgb3IgIF4KZGlmZiAtLWdpdCBhL2xpc3AvbGVpbS9xdWFpbC9oZWJy ZXcuZWwgYi9saXNwL2xlaW0vcXVhaWwvaGVicmV3LmVsCmluZGV4IDVkNjNlNDAuLjE2MDFl MWUgMTAwNjQ0Ci0tLSBhL2xpc3AvbGVpbS9xdWFpbC9oZWJyZXcuZWwKKysrIGIvbGlzcC9s ZWltL3F1YWlsL2hlYnJldy5lbApAQCAtMTEzLDggKzExMyw4IEBAIE9ubHkgSGVicmV3LXJl bGF0ZWQgY2hhcmFjdGVycyBhcmUgY29uc2lkZXJlZC4KIAogQmFzZWQgb24gbGF0ZXN0IGRy YWZ0IG9mIFNJLTE0NTIga2V5Ym9hcmQgbGF5b3V0LgogT25seSBIZWJyZXctcmVsYXRlZCBj aGFyYWN0ZXJzIGFyZSBjb25zaWRlcmVkLgotIOKAmGDigJkgaXMgdXNlZCB0byBzd2l0Y2gg bGV2ZWxzIGluc3RlYWQgb2YgQWx0LUdyLgotR2VyZXNoIGlzIG1hcHBlZCB0byDigJhga+KA mS4KKyDigJhcXD1g4oCZIGlzIHVzZWQgdG8gc3dpdGNoIGxldmVscyBpbnN0ZWFkIG9mIEFs dC1Hci4KK0dlcmVzaCBpcyBtYXBwZWQgdG8g4oCYXFw9YGvigJkuCiAiIG5pbCB0IHQgdCB0 IG5pbCBuaWwgbmlsIG5pbCBuaWwgdCkKIAogKHF1YWlsLWRlZmluZS1ydWxlcwpAQCAtNjAz LDcgKzYwMyw3IEBAIE5vdCBzdWl0YWJsZSBmb3IgbW9kZXJuIEhlYnJldyBpbnB1dC4KIAog QmFzZWQgb24gU29jaWV0eSBvZiBCaWJsaWNhbCBMaXRlcmF0dXJlJ3MgU0lMIGtleWJvYXJk IGxheW91dC4KIFBob25ldGljIGFuZCBub3Qgc3VpdGFibGUgZm9yIG1vZGVybiBIZWJyZXcg aW5wdXQuCi0g4oCYYOKAmSBpcyB1c2VkIHRvIHN3aXRjaCBsZXZlbHMgaW5zdGVhZCBvZiBB bHQtR3IuCisg4oCYXFw9YOKAmSBpcyB1c2VkIHRvIHN3aXRjaCBsZXZlbHMgaW5zdGVhZCBv ZiBBbHQtR3IuCiAgRXVybyBTaWduICjigqwpIGlzIG1hcHBlZCB0byDigJha4oCZLgogIiBu aWwgdCB0IHQgdCBuaWwgbmlsIG5pbCBuaWwgbmlsIHQpCiAKZGlmZiAtLWdpdCBhL2xpc3Av bGVpbS9xdWFpbC9sYXRpbi1hbHQuZWwgYi9saXNwL2xlaW0vcXVhaWwvbGF0aW4tYWx0LmVs CmluZGV4IDRjODg2ZmEuLjA2MTRlY2IgMTAwNjQ0Ci0tLSBhL2xpc3AvbGVpbS9xdWFpbC9s YXRpbi1hbHQuZWwKKysrIGIvbGlzcC9sZWltL3F1YWlsL2xhdGluLWFsdC5lbApAQCAtNDks NyArNDksNyBAQCBzcGVjaWFsIChzbyB5b3UgY2FuIHVzZSB0aGF0IHRvIGVudGVyIGEgc2xh c2gpLgogICAgICAgICAgICAgIHwgcG9zdGZpeCB8IGV4YW1wbGVzCiAgLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tCiAgIGFjdXRlICAgICAgfCAgICAnICAgIHwgYScgLT4g w6EKLSAgZ3JhdmUgICAgICB8ICAgIGAgICAgfCBhYCAtPiDDoAorICBncmF2ZSAgICAgIHwg ICAgXFw9YCAgICB8IGFcXD1gIC0+IMOgCiAgIGNpcmN1bWZsZXggfCAgICBeICAgIHwgYV4g LT4gw6IKICAgZGlhZXJlc2lzICB8ICAgIFwiICAgIHwgYVwiIC0+IMOkCiAgIHRpbGRlICAg ICAgfCAgICB+ICAgIHwgYX4gLT4gw6MKQEAgLTIwOSwyMCArMjA5LDIwIEBAIERvdWJsaW5n IHRoZSBwb3N0Zml4IHNlcGFyYXRlcyB0aGUgbGV0dGVyIGFuZCBwb3N0Zml4OiBlLmcuIGEn JyAtPiBhJwogICJsYXRpbi0yLWFsdC1wb3N0Zml4IiAiTGF0aW4tMiIgIjI8IiB0CiAgIkxh dGluLTIgY2hhcmFjdGVyIGlucHV0IG1ldGhvZCB3aXRoIHBvc3RmaXggbW9kaWZpZXJzCiBU aGlzIGlucHV0IG1ldGhvZCBkaWZmZXJzIGZyb20gYGxhdGluLTItcG9zdGZpeCcgaW4gdGhh dAotY29tbWEgYW5kIHBlcmlvZCBhcmUgbm90IHNwZWNpYWwgKHVzZSBgIGluc3RlYWQpLgor Y29tbWEgYW5kIHBlcmlvZCBhcmUgbm90IHNwZWNpYWwgKHVzZSBcXD1gIGluc3RlYWQpLgog CiAgICAgICAgICAgICAgfCBwb3N0Zml4IHwgZXhhbXBsZXMKICAtLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0KICAgYWN1dGUgICAgICB8ICAgICcgICAgfCBhJyAtPiDDoQot ICBvZ29uZWsgICAgIHwgICAgYCAgICB8IGFgIC0+IMSFCisgIG9nb25layAgICAgfCAgICBc XD1gICAgIHwgYVxcPWAgLT4gxIUKICAgZGlhZXJlc2lzICB8ICAgIFwiICAgIHwgYVwiIC0+ IMOkCiAgIGNpcmN1bWZsZXggfCAgICBeICAgIHwgYV4gLT4gw6IKICAgYnJldmUgICAgICB8 ICAgIH4gICAgfCBhfiAtPiDEgwotICBjZWRpbGxhICAgIHwgICAgYCAgICB8IGNgIC0+IMOn CisgIGNlZGlsbGEgICAgfCAgICBcXD1gICAgIHwgY1xcPWAgLT4gw6cKICAgY2Fyb24gICAg ICB8ICAgIH4gICAgfCBjfiAtPiDEjQogICBkYmwuIGFjdXRlIHwgICAgOiAgICB8IG86IC0+ IMWRCi0gIHJpbmcgICAgICAgfCAgICBgICAgIHwgdWAgLT4gxa8KLSAgZG90ICAgICAgICB8 ICAgIGAgICAgfCB6YCAtPiDFvAorICByaW5nICAgICAgIHwgICAgXFw9YCAgICB8IHVcXD1g IC0+IMWvCisgIGRvdCAgICAgICAgfCAgICBcXD1gICAgIHwgelxcPWAgLT4gxbwKICAgc3Ry b2tlICAgICB8ICAgIC8gICAgfCBkLyAtPiDEkQogICBvdGhlcnMgICAgIHwgICAgLyAgICB8 IHMvIC0+IMOfCiAKQEAgLTQwMywxNyArNDAzLDE3IEBAIERvdWJsaW5nIHRoZSBwb3N0Zml4 IHNlcGFyYXRlcyB0aGUgbGV0dGVyIGFuZCBwb3N0Zml4OiBlLmcuIGEnJyAtPiBhJwogICJs YXRpbi0zLWFsdC1wb3N0Zml4IiAiTGF0aW4tMyIgIjM8IiB0CiAgIkxhdGluLTMgY2hhcmFj dGVyIGlucHV0IG1ldGhvZCB3aXRoIHBvc3RmaXggbW9kaWZpZXJzCiBUaGlzIGlucHV0IG1l dGhvZCBkaWZmZXJzIGZyb20gYGxhdGluLTMtcG9zdGZpeCcgaW4gdGhhdAotY29tbWEgaXMg bm90IHNwZWNpYWwgKHVzZSBgIGluc3RlYWQpLCBhbmQgcGVyaW9kIGlzIG5vdAorY29tbWEg aXMgbm90IHNwZWNpYWwgKHVzZSBcXD1gIGluc3RlYWQpLCBhbmQgcGVyaW9kIGlzIG5vdAog c3BlY2lhbCAodXNlIHNsYXNoIGluc3RlYWQpLgogCiAgICAgICAgICAgICAgfCBwb3N0Zml4 IHwgZXhhbXBsZXMKICAtLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0KICAgYWN1 dGUgICAgICB8ICAgICcgICAgfCBhJyAtPiDDoQotICBncmF2ZSAgICAgIHwgICAgYCAgICB8 IGFgIC0+IMOgCisgIGdyYXZlICAgICAgfCAgICBcXD1gICAgIHwgYVxcPWAgLT4gw6AKICAg Y2lyY3VtZmxleCB8ICAgIF4gICAgfCBhXiAtPiDDogogICBkaWFlcmVzaXMgIHwgICAgXCIg ICAgfCBhXCIgLT4gw6QKICAgZG90ICAgICAgICB8ICAgIC8gICAgfCBjLyAtPiDEiyAgIGkv IC0+IMSxICAgSS8gLT4gxLAKLSAgY2VkaWxsYSAgICB8ICAgIGAgICAgfCBjYCAtPiDDpwor ICBjZWRpbGxhICAgIHwgICAgXFw9YCAgICB8IGNcXD1gIC0+IMOnCiAgIGJyZXZlICAgICAg fCAgICB+ICAgIHwgZ34gLT4gxJ8KICAgdGlsZGUgICAgICB8ICAgIH4gICAgfCBufiAtPiDD sQogICBzdHJva2UgICAgIHwgICAgLyAgICB8IGgvIC0+IMSnCkBAIC01NzYsNyArNTc2LDcg QEAgRG91YmxpbmcgdGhlIHBvc3RmaXggc2VwYXJhdGVzIHRoZSBsZXR0ZXIgYW5kIHBvc3Rm aXg6IGUuZy4gYScnIC0+IGEnCiAgImxhdGluLTQtYWx0LXBvc3RmaXgiICJMYXRpbi00IiAi NDwiIHQKICAiTGF0aW4tNCBjaGFyYWN0ZXJzIGlucHV0IG1ldGhvZCB3aXRoIHBvc3RmaXgg bW9kaWZpZXJzCiBUaGlzIGlucHV0IG1ldGhvZCBkaWZmZXJzIGZyb20gYGxhdGluLTQtcG9z dGZpeCcgaW4gdGhhdAotY29tbWEgaXMgbm90IHNwZWNpYWwgKHVzZSBgIGluc3RlYWQpLCBh bmQgcGVyaW9kIGlzIG5vdAorY29tbWEgaXMgbm90IHNwZWNpYWwgKHVzZSBcXD1gIGluc3Rl YWQpLCBhbmQgcGVyaW9kIGlzIG5vdAogc3BlY2lhbCAodXNlIH4gaW5zdGVhZCkuCiAKICAg ICAgICAgICAgICB8IHBvc3RmaXggfCBleGFtcGxlcwpAQCAtNTg0LDEyICs1ODQsMTIgQEAg c3BlY2lhbCAodXNlIH4gaW5zdGVhZCkuCiAgIGFjdXRlICAgICAgfCAgICAnICAgIHwgYScg LT4gw6EKICAgY2lyY3VtZmxleCB8ICAgIF4gICAgfCBhXiAtPiDDogogICBkaWFlcmVzaXMg IHwgICAgXCIgICAgfCBhXCIgLT4gw6QKLSAgb2dvbmVrICAgICB8ICAgIGAgICAgfCBhYCAt PiDEhQorICBvZ29uZWsgICAgIHwgICAgXFw9YCAgICB8IGFcXD1gIC0+IMSFCiAgIG1hY3Jv biAgICAgfCAgICAtICAgIHwgYS0gLT4gxIEKICAgdGlsZGUgICAgICB8ICAgIH4gICAgfCBh fiAtPiDDowogICBjYXJvbiAgICAgIHwgICAgfiAgICB8IGN+IC0+IMSNCiAgIGRvdCAgICAg ICAgfCAgICB+ICAgIHwgZX4gLT4gxJcKLSAgY2VkaWxsYSAgICB8ICAgIGAgICAgfCBrYCAt PiDEtyAgIGdgIC0+IMSjCisgIGNlZGlsbGEgICAgfCAgICBcXD1gICAgIHwga1xcPWAgLT4g xLcgICBnXFw9YCAtPiDEowogICBzdHJva2UgICAgIHwgICAgLyAgICB8IGQvIC0+IMSRCiAg IG5vcmRpYyAgICAgfCAgICAvICAgIHwgYS8gLT4gw6UgICBlLyAtPiDDpiAgIG8vIC0+IMO4 CiAgIG90aGVycyAgICAgfCAgICAvICAgIHwgcy8gLT4gw58gICBuLyAtPiDFiyAgIGsvIC0+ IMS4CkBAIC03NzMsMTggKzc3MywxOCBAQCBEb3VibGluZyB0aGUgcG9zdGZpeCBzZXBhcmF0 ZXMgdGhlIGxldHRlciBhbmQgcG9zdGZpeDogZS5nLiBhJycgLT4gYScKICAibGF0aW4tNS1h bHQtcG9zdGZpeCIgIkxhdGluLTUiICI1PCIgdAogICJMYXRpbi01IGNoYXJhY3RlcnMgaW5w dXQgbWV0aG9kIHdpdGggcG9zdGZpeCBtb2RpZmllcnMKIFRoaXMgaW5wdXQgbWV0aG9kIGRp ZmZlcnMgZnJvbSBgbGF0aW4tNS1wb3N0Zml4JyBpbiB0aGF0Ci1jb21tYSBpcyBub3Qgc3Bl Y2lhbCAodXNlIGAgaW5zdGVhZCksIGFuZCBwZXJpb2QgaXMgbm90Citjb21tYSBpcyBub3Qg c3BlY2lhbCAodXNlIFxcPWAgaW5zdGVhZCksIGFuZCBwZXJpb2QgaXMgbm90CiBzcGVjaWFs ICh1c2UgLyBpbnN0ZWFkKS4KIAogICAgICAgICAgICAgIHwgcG9zdGZpeCB8IGV4YW1wbGVz CiAgLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tCiAgIGFjdXRlICAgICAgfCAg ICAnICAgIHwgYScgLT4gw6EKLSAgZ3JhdmUgICAgICB8ICAgIGAgICAgfCBhYCAtPiDDoAor ICBncmF2ZSAgICAgIHwgICAgXFw9YCAgICB8IGFcXD1gIC0+IMOgCiAgIGNpcmN1bWZsZXgg fCAgICBeICAgIHwgYV4gLT4gw6IKICAgZGlhZXJlc2lzICB8ICAgIFwiICAgIHwgYVwiIC0+ IMOkCiAgIHRpbGRlICAgICAgfCAgICB+ICAgIHwgYX4gLT4gw6MKICAgYnJldmUgICAgICB8 ICAgIH4gICAgfCBnfiAtPiDEnwotICBjZWRpbGxhICAgIHwgICAgYCAgICB8IGNgIC0+IMOn CisgIGNlZGlsbGEgICAgfCAgICBcXD1gICAgIHwgY1xcPWAgLT4gw6cKICAgZG90ICAgICAg ICB8ICAgIC8gICAgfCBpLyAtPiDEsSAgIEkvIC0+IMSwCiAgIG5vcmRpYyAgICAgfCAgICAv ICAgIHwgYS8gLT4gw6UgICBlLyAtPiDDpiAgIG8vIC0+IMO4CiAgIG90aGVycyAgICAgfCAg ICAvICAgIHwgcy8gLT4gw58KQEAgLTkzMCw4ICs5MzAsOCBAQCBEb3VibGluZyB0aGUgcG9z dGZpeCBzZXBhcmF0ZXMgdGhlIGxldHRlciBhbmQgcG9zdGZpeDogZS5nLiBhJycgLT4gYScK ICAiZnJlbmNoLWFsdC1wb3N0Zml4IiAiRnJlbmNoIiAiRlI8IiB0CiAgIkZyZW5jaCAoRnJh bsOnYWlzKSBpbnB1dCBtZXRob2Qgd2l0aCBwb3N0Zml4IG1vZGlmaWVycwogCi1gIHBvdXIg Z3JhdmUsICcgcG91ciBhaWd1LCBeIHBvdXIgY2lyY29uZmxleGUsIGV0IFwiIHBvdXIgdHLD qW1hLgotUGFyIGV4ZW1wbGU6IGFgIC0+IMOgICAgZScgLT4gw6kuCitcXD1gIHBvdXIgZ3Jh dmUsICcgcG91ciBhaWd1LCBeIHBvdXIgY2lyY29uZmxleGUsIGV0IFwiIHBvdXIgdHLDqW1h LgorUGFyIGV4ZW1wbGU6IGFcXD1gIC0+IMOgICAgZScgLT4gw6kuCiAKIMOHLCDCqywgZXQg wrsgc29udCBwcm9kdWl0cyBwYXIgQy8sIDw8LCBldCA+Pi4KIApAQCAtMTAxMSwxNSArMTAx MSwxNSBAQCBQYXIgZXhlbXBsZTogZScnIC0+IGUnCiAgIml0YWxpYW4tYWx0LXBvc3RmaXgi ICJMYXRpbi0xIiAiSVQ8IiB0CiAgIkl0YWxpYW4gKEl0YWxpYW5vKSBpbnB1dCBtZXRob2Qg d2l0aCBwb3N0Zml4IG1vZGlmaWVycwogCi1hJyAtPiDDoSAgICBBJyAtPiDDgSAgICBhYCAt PiDDoCAgICBBYCAtPiDDgCAgICBpXiAtPiDDriAgICA8PCAtPiDCqwotZScgLT4gw6kgICAg RScgLT4gw4kgICAgZWAgLT4gw6ggICAgRWAgLT4gw4ggICAgSV4gLT4gw44gICAgPj4gLT4g wrsKLWknIC0+IMOtICAgIEknIC0+IMONICAgIGlgIC0+IMOsICAgIElgIC0+IMOMICAgICAg ICAgICAgICAgb18gLT4gwroKLW8nIC0+IMOzICAgIE8nIC0+IMOTICAgIG9gIC0+IMOyICAg IE9gIC0+IMOSICAgICAgICAgICAgICAgYV8gLT4gwqoKLXUnIC0+IMO6ICAgIFUnIC0+IMOa ICAgIHVgIC0+IMO5ICAgIFVgIC0+IMOZCithJyAtPiDDoSAgICBBJyAtPiDDgSAgICBhXFw9 YCAtPiDDoCAgICBBXFw9YCAtPiDDgCAgICBpXiAtPiDDriAgICA8PCAtPiDCqworZScgLT4g w6kgICAgRScgLT4gw4kgICAgZVxcPWAgLT4gw6ggICAgRVxcPWAgLT4gw4ggICAgSV4gLT4g w44gICAgPj4gLT4gwrsKK2knIC0+IMOtICAgIEknIC0+IMONICAgIGlcXD1gIC0+IMOsICAg IElcXD1gIC0+IMOMICAgICAgICAgICAgICAgb18gLT4gwroKK28nIC0+IMOzICAgIE8nIC0+ IMOTICAgIG9cXD1gIC0+IMOyICAgIE9cXD1gIC0+IMOSICAgICAgICAgICAgICAgYV8gLT4g wqoKK3UnIC0+IMO6ICAgIFUnIC0+IMOaICAgIHVcXD1gIC0+IMO5ICAgIFVcXD1gIC0+IMOZ CiAKIFRoaXMgbWV0aG9kIGlzIGZvciBwdXJpc3RzIHdobyBsaWtlIGFjY2VudHMgdGhlIG9s ZCB3YXkuCiAKLURvdWJsaW5nIHRoZSBwb3N0Zml4IHNlcGFyYXRlcyB0aGUgbGV0dGVyIGFu ZCBwb3N0Zml4OiBlLmcuIGFgYCAtPiBhYAorRG91YmxpbmcgdGhlIHBvc3RmaXggc2VwYXJh dGVzIHRoZSBsZXR0ZXIgYW5kIHBvc3RmaXg6IGUuZy4gYVxcPWBcXD1gIC0+IGFcXD1gCiAi IG5pbCB0IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgdCkKIAogKHF1YWlsLWRl ZmluZS1ydWxlcwpAQCAtMTA4MywyMSArMTA4MywyMSBAQCBEb3VibGluZyB0aGUgcG9zdGZp eCBzZXBhcmF0ZXMgdGhlIGxldHRlciBhbmQgcG9zdGZpeDogZS5nLiBhYGAgLT4gYWAKICAi dHVya2lzaC1hbHQtcG9zdGZpeCIgIlR1cmtpc2giICJUUsKrIiB0CiAgIlR1cmtpc2ggKFTD vHJrw6dlKSBpbnB1dCBtZXRob2Qgd2l0aCBwb3N0Zml4IG1vZGlmaWVycy4KIFRoaXMgaW5w dXQgbWV0aG9kIGRpZmZlcnMgZnJvbSBgdHVya2lzaC1wb3N0Zml4JyBpbiB0aGF0Ci1jb21t YSBpcyBub3Qgc3BlY2lhbCAodXNlIGAgaW5zdGVhZCkuCitjb21tYSBpcyBub3Qgc3BlY2lh bCAodXNlIFxcPWAgaW5zdGVhZCkuCiAKIHR1cmtpc2gtbGF0aW4tMy1hbHQtcG9zdGZpeCBp cyBhbiBvYnNvbGV0ZSBhbGlhcyBmb3IgdHVya2lzaC1hbHQtcG9zdGZpeC4KIAogTm90ZSBm b3IgSSwgxLEsIMSwLCBpLgogCiBBXiAtPiDDggotQ2AgLT4gw4cKK0NcXD1gIC0+IMOHCiBH XiAtPiDEngogSSAgLT4gSQogaSAgLT4gxLEKIEkvIC0+IMSwCiBpLyAtPiBpCiBPXCIgLT4g w5YKLVNgIC0+IMWeCitTXFw9YCAtPiDFngogVVwiIC0+IMOcCiBVXiAtPiDDmwogCkBAIC0x MTYxLDcgKzExNjEsNyBAQCBDYXRlcnMgZm9yIEZyZW5jaCBhbmQgVHVya2lzaCBhcyB3ZWxs IGFzIER1dGNoLgogICAgICAgICAgICAgIHwgcG9zdGZpeCB8CiAgLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tCiAgIGFjdXRlICAgICAgfCAgICAnICAgIHwgYScgLT4gw6EK LSAgZ3JhdmUgICAgICB8ICAgIGAgICAgfCBhYCAtPiDDoAorICBncmF2ZSAgICAgIHwgICAg XFw9YCAgICB8IGFcXD1gIC0+IMOgCiAgIGNpcmN1bWZsZXggfCAgICBeICAgIHwgYV4gLT4g w6IKICAgVHVya2lzaCAgICB8IHZhcmlvdXMgfCBpLyAtPiDEsSAgcywgLT4gxZ8gIGdeIC0+ IMSfICAgSS8gLT4gxLAKICAgICAgICAgICAgICB8ICAgICAgICAgfCAgUywgLT4gxZ4gIEde IC0+IMSeCkBAIC0xMTgwLDYxICsxMTgwLDYxIEBAIERvdWJsaW5nIHRoZSBwb3N0Zml4IHNl cGFyYXRlcyB0aGUgbGV0dGVyIGFuZCBwb3N0Zml4OiBlLmcuIGEnJyAtPiBhJwogICgiaWoi ID/EsykgOzsgTEFUSU4gU01BTEwgTElHQVRVUkUgSUoKICAoIklKIiA/xLIpIDs7IExBVElO IENBUElUQUwgTElHQVRVUkUgSUoKICA7OyDigJxUcmVtYSBvbiB0aGUgc2Vjb25kIGxldHRl ciBvZiB2b3dlbCBwYWlyLuKAnSAgWXVkaXQgdXNlcyBgOicsIG5vdCBgIicuCi0gKCJcImEi ID/DpCkgOzsgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMgCi0gKCJcImUi ID/DqykgOzsgTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMgCi0gKCJcImki ID/DrykgOzsgTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBESUFFUkVTSVMgCi0gKCJcIm8i ID/DtikgOzsgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBESUFFUkVTSVMgCi0gKCJcInUi ID/DvCkgOzsgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMgCi0gKCJcIkEi ID/DhCkgOzsgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIERJQUVSRVNJUyAKLSAoIlwi RSIgP8OLKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggRElBRVJFU0lTIAotICgi XCJJIiA/w48pIDs7IExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBESUFFUkVTSVMgCi0g KCJcIk8iID/DlikgOzsgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIERJQUVSRVNJUyAK LSAoIlwiVSIgP8OcKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggRElBRVJFU0lT IAorICgiXCJhIiA/w6QpIDs7IExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggRElBRVJFU0lT CisgKCJcImUiID/DqykgOzsgTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMK KyAoIlwiaSIgP8OvKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUwor ICgiXCJvIiA/w7YpIDs7IExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTCisg KCJcInUiID/DvCkgOzsgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMKKyAo IlwiQSIgP8OEKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTCisg KCJcIkUiID/DiykgOzsgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIERJQUVSRVNJUwor ICgiXCJJIiA/w48pIDs7IExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBESUFFUkVTSVMK KyAoIlwiTyIgP8OWKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggRElBRVJFU0lT CisgKCJcIlUiID/DnCkgOzsgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIERJQUVSRVNJ UwogIDs7IOKAnEFjdXRlLCBtYXJraW5nIGVtcGhhc2lzIG9uIGxvbmcgdm93ZWxz4oCdOgot ICgiYSciID/DoSkgOzsgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBBQ1VURSAKLSAoImUn IiA/w6kpIDs7IExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQUNVVEUgCi0gKCJpJyIgP8Ot KSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEFDVVRFIAotICgibyciID/DsykgOzsg TEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBBQ1VURSAKLSAoInUnIiA/w7opIDs7IExBVElO IFNNQUxMIExFVFRFUiBVIFdJVEggQUNVVEUgCi0gKCJBJyIgP8OBKSA7OyBMQVRJTiBDQVBJ VEFMIExFVFRFUiBBIFdJVEggQUNVVEUgCi0gKCJFJyIgP8OJKSA7OyBMQVRJTiBDQVBJVEFM IExFVFRFUiBFIFdJVEggQUNVVEUgCi0gKCJJJyIgP8ONKSA7OyBMQVRJTiBDQVBJVEFMIExF VFRFUiBJIFdJVEggQUNVVEUgCi0gKCJPJyIgP8OTKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRF UiBPIFdJVEggQUNVVEUgCi0gKCJVJyIgP8OaKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBV IFdJVEggQUNVVEUgCisgKCJhJyIgP8OhKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRI IEFDVVRFCisgKCJlJyIgP8OpKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEFDVVRF CisgKCJpJyIgP8OtKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEFDVVRFCisgKCJv JyIgP8OzKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEFDVVRFCisgKCJ1JyIgP8O6 KSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIEFDVVRFCisgKCJBJyIgP8OBKSA7OyBM QVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggQUNVVEUKKyAoIkUnIiA/w4kpIDs7IExBVElO IENBUElUQUwgTEVUVEVSIEUgV0lUSCBBQ1VURQorICgiSSciID/DjSkgOzsgTEFUSU4gQ0FQ SVRBTCBMRVRURVIgSSBXSVRIIEFDVVRFCisgKCJPJyIgP8OTKSA7OyBMQVRJTiBDQVBJVEFM IExFVFRFUiBPIFdJVEggQUNVVEUKKyAoIlUnIiA/w5opIDs7IExBVElOIENBUElUQUwgTEVU VEVSIFUgV0lUSCBBQ1VURQogIDs7IOKAnEdyYXZlLCBtYXJraW5nIGVtcGhhc2lzIG9uIHNo b3J0IHZvd2Vsc+KAnToKICAoImFgIiA/w6ApIDs7IExBVElOIFNNQUxMIExFVFRFUiBBIFdJ VEggR1JBVkUKLSAoImVgIiA/w6gpIDs7IExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggR1JB VkUgCi0gKCJpYCIgP8OsKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEdSQVZFIAot ICgib2AiID/DsikgOzsgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBHUkFWRSAKLSAoInVg IiA/w7kpIDs7IExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggR1JBVkUgCi0gKCJBYCIgP8OA KSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggR1JBVkUgCi0gKCJFYCIgP8OIKSA7 OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggR1JBVkUgCi0gKCJJYCIgP8OMKSA7OyBM QVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggR1JBVkUgCi0gKCJPYCIgP8OSKSA7OyBMQVRJ TiBDQVBJVEFMIExFVFRFUiBPIFdJVEggR1JBVkUgCisgKCJlYCIgP8OoKSA7OyBMQVRJTiBT TUFMTCBMRVRURVIgRSBXSVRIIEdSQVZFCisgKCJpYCIgP8OsKSA7OyBMQVRJTiBTTUFMTCBM RVRURVIgSSBXSVRIIEdSQVZFCisgKCJvYCIgP8OyKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIg TyBXSVRIIEdSQVZFCisgKCJ1YCIgP8O5KSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRI IEdSQVZFCisgKCJBYCIgP8OAKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggR1JB VkUKKyAoIkVgIiA/w4gpIDs7IExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBHUkFWRQor ICgiSWAiID/DjCkgOzsgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEdSQVZFCisgKCJP YCIgP8OSKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggR1JBVkUKICAoIlVgIiA/ w5kpIDs7IExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBHUkFWRQogIDs7IOKAnENhdGVy IGZvciB0aGUgdXNlIG9mIG1hbnkgRnJlbmNoIHdvcmRzIGFuZCB1c2Ugb2YgdGhlIGNpcmN1 bWZsZXgKICA7OyBpbiBGcmlzaWFuLuKAnSAgWXVkaXQgdXNlZCBgOycgZm9yIGNlZGlsbGEu Ci0gKCJjLCIgP8OnKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgQyBXSVRIIENFRElMTEEgCi0g KCJDLCIgP8OHKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBDIFdJVEggQ0VESUxMQSAKLSAo ImFeIiA/w6IpIDs7IExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWCAKLSAo ImVeIiA/w6opIDs7IExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWCAKLSAo ImleIiA/w64pIDs7IExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWCAKLSAo Im9eIiA/w7QpIDs7IExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWCAKLSAo InVeIiA/w7spIDs7IExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWCAKLSAo IkFeIiA/w4IpIDs7IExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBDSVJDVU1GTEVYIAot ICgiRV4iID/DiikgOzsgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgg Ci0gKCJJXiIgP8OOKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxF WCAKLSAoIk9eIiA/w5QpIDs7IExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBDSVJDVU1G TEVYIAorICgiYywiID/DpykgOzsgTEFUSU4gU01BTEwgTEVUVEVSIEMgV0lUSCBDRURJTExB CisgKCJDLCIgP8OHKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBDIFdJVEggQ0VESUxMQQor ICgiYV4iID/DoikgOzsgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBDSVJDVU1GTEVYCisg KCJlXiIgP8OqKSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgKKyAo ImleIiA/w64pIDs7IExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWAorICgi b14iID/DtCkgOzsgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBDSVJDVU1GTEVYCisgKCJ1 XiIgP8O7KSA7OyBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIENJUkNVTUZMRVgKKyAoIkFe IiA/w4IpIDs7IExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBDSVJDVU1GTEVYCisgKCJF XiIgP8OKKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWAorICgi SV4iID/DjikgOzsgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIENJUkNVTUZMRVgKKyAo Ik9eIiA/w5QpIDs7IExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBDSVJDVU1GTEVYCiAg KCJVXiIgP8ObKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWAog IDs7IOKAnEZvbGxvdyB0aGUgZXhhbXBsZSBvZiB0aGUgRHV0Y2ggUE9TSVggbG9jYWxlLCB1 c2luZyBJU08tODg1OS05IHRvCiAgOzsgY2F0ZXIgdG8gdGhlIG1hbnkgVHVya3MgaW4gRHV0 Y2ggc29jaWV0eS7igJ0gIFBlcmhhcHMgR2VybWFuIG1ldGhvZHMKICA7OyBzaG91bGQgZG8g c28gdG9vLiAgRm9sbG93IHR1cmtpc2gtYWx0LXBvc3RmaXggaGVyZS4KICAoImkvIiA/xLEp IDs7IExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggTk8gRE9UCi0gKCJzLCIgP8WfKSA7OyBM QVRJTiBTTUFMTCBMRVRURVIgUyBXSVRIIENFRElMTEEgCi0gKCJnXiIgP8SfKSA7OyBMQVRJ TiBTTUFMTCBMRVRURVIgRyBXSVRIIEJSRVZFIAorICgicywiID/FnykgOzsgTEFUSU4gU01B TEwgTEVUVEVSIFMgV0lUSCBDRURJTExBCisgKCJnXiIgP8SfKSA7OyBMQVRJTiBTTUFMTCBM RVRURVIgRyBXSVRIIEJSRVZFCiAgKCJJLyIgP8SwKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRF UiBJIFdJVEggRE9UIEFCT1ZFCi0gKCJTLCIgP8WeKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRF UiBTIFdJVEggQ0VESUxMQSAKLSAoIkdeIiA/xJ4pIDs7IExBVElOIENBUElUQUwgTEVUVEVS IEcgV0lUSCBCUkVWRSAKKyAoIlMsIiA/xZ4pIDs7IExBVElOIENBUElUQUwgTEVUVEVSIFMg V0lUSCBDRURJTExBCisgKCJHXiIgP8SeKSA7OyBMQVRJTiBDQVBJVEFMIExFVFRFUiBHIFdJ VEggQlJFVkUKICApCiAKIDs7IE9yaWdpbmFsbHkgZnJvbSBZdWRpdCwgZGlzY3Vzc2VkIHdp dGggQWxiZXJ0YXMgQWdlamV2YXMKQEAgLTEzMzksMTcgKzEzMzksMTcgQEAgb2YgY2hhcmFj dGVycyBmcm9tIGEgc2luZ2xlIExhdGluLU4gY2hhcnNldC4KICAgICAgICAgICAgICB8IHBv c3RmaXggfCBleGFtcGxlcwogIC0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLQog ICBhY3V0ZSAgICAgIHwgICAgJyAgICB8IGEnIC0+IMOhCi0gIGdyYXZlICAgICAgfCAgICBg ICAgIHwgYWAgLT4gw6AKKyAgZ3JhdmUgICAgICB8ICAgIFxcPWAgICAgfCBhXFw9YCAtPiDD oAogICBjaXJjdW1mbGV4IHwgICAgXiAgICB8IGFeIC0+IMOiCiAgIGRpYWVyZXNpcyAgfCAg ICBcIiAgICB8IGFcIiAtPiDDpAogICB0aWxkZSAgICAgIHwgICAgfiAgICB8IGF+IC0+IMOj Ci0gIGNlZGlsbGEgICAgfCAgICAvYCAgIHwgYy8gLT4gw6cgICBjYCAtPiDDpwotICBvZ29u ZWsgICAgIHwgICAgYCAgICB8IGFgIC0+IMSFCisgIGNlZGlsbGEgICAgfCAgICAvXFw9YCAg IHwgYy8gLT4gw6cgICBjXFw9YCAtPiDDpworICBvZ29uZWsgICAgIHwgICAgXFw9YCAgICB8 IGFcXD1gIC0+IMSFCiAgIGJyZXZlICAgICAgfCAgICB+ICAgIHwgYX4gLT4gxIMKICAgY2Fy b24gICAgICB8ICAgIH4gICAgfCBjfiAtPiDEjQogICBkYmwuIGFjdXRlIHwgICAgOiAgICB8 IG86IC0+IMWRCi0gIHJpbmcgICAgICAgfCAgICBgICAgIHwgdWAgLT4gxa8KLSAgZG90ICAg ICAgICB8ICAgIGAgICAgfCB6YCAtPiDFvAorICByaW5nICAgICAgIHwgICAgXFw9YCAgICB8 IHVcXD1gIC0+IMWvCisgIGRvdCAgICAgICAgfCAgICBcXD1gICAgIHwgelxcPWAgLT4gxbwK ICAgc3Ryb2tlICAgICB8ICAgIC8gICAgfCBkLyAtPiDEkQogICBub3JkaWMgICAgIHwgICAg LyAgICB8IGQvIC0+IMOwICAgdC8gLT4gw74gICBhLyAtPiDDpSAgIGUvIC0+IMOmICAgby8g LT4gw7gKICAgb3RoZXJzICAgICB8ICAgLzw+ICAgfCBzLyAtPiDDnyAgID8vIC0+IMK/ICAg IS8gLT4gwqEKZGlmZiAtLWdpdCBhL2xpc3AvbGVpbS9xdWFpbC9sYXRpbi1wb3N0LmVsIGIv bGlzcC9sZWltL3F1YWlsL2xhdGluLXBvc3QuZWwKaW5kZXggZTg5NTdlYi4uNTEwNmJkMiAx MDA2NDQKLS0tIGEvbGlzcC9sZWltL3F1YWlsL2xhdGluLXBvc3QuZWwKKysrIGIvbGlzcC9s ZWltL3F1YWlsL2xhdGluLXBvc3QuZWwKQEAgLTQxLDcgKzQxLDcgQEAKICAgICAgICAgICAg ICB8IHBvc3RmaXggfCBleGFtcGxlcwogIC0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLQogICBhY3V0ZSAgICAgIHwgICAgJyAgICB8IGEnIC0+IMOhCi0gIGdyYXZlICAgICAg fCAgICBgICAgIHwgYWAgLT4gw6AKKyAgZ3JhdmUgICAgICB8ICAgIFxcPWAgICAgfCBhXFw9 YCAtPiDDoAogICBjaXJjdW1mbGV4IHwgICAgXiAgICB8IGFeIC0+IMOiCiAgIGRpYWVyZXNp cyAgfCAgICBcIiAgICB8IGFcIiAtPiDDpAogICB0aWxkZSAgICAgIHwgICAgfiAgICB8IGF+ IC0+IMOjCkBAIC0zOTAsNyArMzkwLDcgQEAgRG91YmxpbmcgdGhlIHBvc3RmaXggc2VwYXJh dGVzIHRoZSBsZXR0ZXIgYW5kIHBvc3RmaXg6IGUuZy4gYScnIC0+IGEnCiAgICAgICAgICAg ICAgfCBwb3N0Zml4IHwgZXhhbXBsZXMKICAtLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0KICAgYWN1dGUgICAgICB8ICAgICcgICAgfCBhJyAtPiDDoQotICBncmF2ZSAgICAg IHwgICAgYCAgICB8IGFgIC0+IMOgCisgIGdyYXZlICAgICAgfCAgICBcXD1gICAgIHwgYVxc PWAgLT4gw6AKICAgY2lyY3VtZmxleCB8ICAgIF4gICAgfCBhXiAtPiDDogogICBkaWFlcmVz aXMgIHwgICAgXCIgICAgfCBhXCIgLT4gw6QKICAgZG90ICAgICAgICB8ICAgIC4gICAgfCBj LiAtPiDEiyAgIGkuIC0+IMSxICAgSS4gLT4gxLAKQEAgLTc0Niw3ICs3NDYsNyBAQCBEb3Vi bGluZyB0aGUgcG9zdGZpeCBzZXBhcmF0ZXMgdGhlIGxldHRlciBhbmQgcG9zdGZpeDogZS5n LiBhJycgLT4gYScKICAgICAgICAgICAgICB8IHBvc3RmaXggfCBleGFtcGxlcwogIC0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLQogICBhY3V0ZSAgICAgIHwgICAgJyAgICB8 IGEnIC0+IMOhCi0gIGdyYXZlICAgICAgfCAgICBgICAgIHwgYWAgLT4gw6AKKyAgZ3JhdmUg ICAgICB8ICAgIFxcPWAgICAgfCBhXFw9YCAtPiDDoAogICBjaXJjdW1mbGV4IHwgICAgXiAg ICB8IGFeIC0+IMOiCiAgIGRpYWVyZXNpcyAgfCAgICBcIiAgICB8IGFcIiAtPiDDpAogICB0 aWxkZSAgICAgIHwgICAgfiAgICB8IGF+IC0+IMOjCkBAIC0xMDA1LDggKzEwMDUsOCBAQCBP RUUgLT4gT0UKICAiZnJlbmNoLXBvc3RmaXgiICJGcmVuY2giICJGUjwiIHQKICAiRnJlbmNo IChGcmFuw6dhaXMpIGlucHV0IG1ldGhvZCB3aXRoIHBvc3RmaXggbW9kaWZpZXJzCiAKLWAg cG91ciBncmF2ZSwgJyBwb3VyIGFpZ3UsIF4gcG91ciBjaXJjb25mbGV4ZSwgZXQgXCIgcG91 ciB0csOpbWEuCi1QYXIgZXhlbXBsZTogYWAgLT4gw6AgICBlJyAtPiDDqS4KK1xcPWAgcG91 ciBncmF2ZSwgJyBwb3VyIGFpZ3UsIF4gcG91ciBjaXJjb25mbGV4ZSwgZXQgXCIgcG91ciB0 csOpbWEuCitQYXIgZXhlbXBsZTogYVxcPWAgLT4gw6AgICBlJyAtPiDDqS4KIAogw4csIMKr LCBldCDCuyBzb250IHByb2R1aXRzIHBhciBDLCwgPDwsIGV0ID4+LgogCkBAIC0xMTE3LDcg KzExMTcsNyBAQCBzenogLT4gc3oKICAoImF1ZSIgWyJhdWUiXSkKICAoIkF1ZSIgWyJBdWUi XSkKICAoInF1ZSIgWyJxdWUiXSkKLSAoIlF1ZSIgWyJRdWUiXSkgCisgKCJRdWUiIFsiUXVl Il0pCiApCiAKIChxdWFpbC1kZWZpbmUtcGFja2FnZQpAQCAtMTE4NiwxNSArMTE4NiwxNSBA QCBEb3VibGluZyB0aGUgcG9zdGZpeCBzZXBhcmF0ZXMgdGhlIGxldHRlciBhbmQgcG9zdGZp eDogZS5nLiBhJycgLT4gYScKICAiaXRhbGlhbi1wb3N0Zml4IiAiTGF0aW4tMSIgIklUPCIg dAogICJJdGFsaWFuIChJdGFsaWFubykgaW5wdXQgbWV0aG9kIHdpdGggcG9zdGZpeCBtb2Rp ZmllcnMKIAotYWAgLT4gw6AgICAgQWAgLT4gw4AgICAgZScgLT4gw6kgICAgPDwgLT4gwqsK LWVgIC0+IMOoICAgIEVgIC0+IMOIICAgIEUnIC0+IMOJICAgID4+IC0+IMK7Ci1pYCAtPiDD rCAgICBJYCAtPiDDjCAgICAgICAgICAgICAgIG9fIC0+IMK6Ci1vYCAtPiDDsiAgICBPYCAt PiDDkiAgICAgICAgICAgICAgIGFfIC0+IMKqCi11YCAtPiDDuSAgICBVYCAtPiDDmQorYVxc PWAgLT4gw6AgICAgQVxcPWAgLT4gw4AgICAgZScgLT4gw6kgICAgPDwgLT4gwqsKK2VcXD1g IC0+IMOoICAgIEVcXD1gIC0+IMOIICAgIEUnIC0+IMOJICAgID4+IC0+IMK7CitpXFw9YCAt PiDDrCAgICBJXFw9YCAtPiDDjCAgICAgICAgICAgICAgIG9fIC0+IMK6CitvXFw9YCAtPiDD siAgICBPXFw9YCAtPiDDkiAgICAgICAgICAgICAgIGFfIC0+IMKqCit1XFw9YCAtPiDDuSAg ICBVXFw9YCAtPiDDmQogCiBUeXBld3JpdGVyLXN0eWxlIGl0YWxpYW4gY2hhcmFjdGVycy4K IAotRG91YmxpbmcgdGhlIHBvc3RmaXggc2VwYXJhdGVzIHRoZSBsZXR0ZXIgYW5kIHBvc3Rm aXg6IGUuZy4gYWBgIC0+IGFgCitEb3VibGluZyB0aGUgcG9zdGZpeCBzZXBhcmF0ZXMgdGhl IGxldHRlciBhbmQgcG9zdGZpeDogZS5nLiBhXFw9YFxcPWAgLT4gYVxcPWAKICIgbmlsIHQg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCB0KQogCiAocXVhaWwtZGVmaW5lLXJ1 bGVzCkBAIC0yMDkwLDcgKzIwOTAsNyBAQCBvZiBjaGFyYWN0ZXJzIGZyb20gYSBzaW5nbGUg TGF0aW4tTiBjaGFyc2V0LgogICAgICAgICAgICAgIHwgcG9zdGZpeCB8IGV4YW1wbGVzCiAg LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tCiAgIGFjdXRlICAgICAgfCAgICAn ICAgIHwgYScgLT4gw6EKLSAgZ3JhdmUgICAgICB8ICAgIGAgICAgfCBhYCAtPiDDoAorICBn cmF2ZSAgICAgIHwgICAgXFw9YCAgICB8IGFcXD1gIC0+IMOgCiAgIGNpcmN1bWZsZXggfCAg ICBeICAgIHwgYV4gLT4gw6IKICAgZGlhZXJlc2lzICB8ICAgIFwiICAgIHwgYVwiIC0+IMOk CiAgIHRpbGRlICAgICAgfCAgICB+ICAgIHwgYX4gLT4gw6MKZGlmZiAtLWdpdCBhL2xpc3Av bGVpbS9xdWFpbC9sYXRpbi1wcmUuZWwgYi9saXNwL2xlaW0vcXVhaWwvbGF0aW4tcHJlLmVs CmluZGV4IDQxNTUyYjUuLjRlNjBkOWMgMTAwNjQ0Ci0tLSBhL2xpc3AvbGVpbS9xdWFpbC9s YXRpbi1wcmUuZWwKKysrIGIvbGlzcC9sZWltL3F1YWlsL2xhdGluLXByZS5lbApAQCAtNTMs NyArNTMsNyBAQAogICAgIGVmZmVjdCAgIHwgcHJlZml4IHwgZXhhbXBsZXMKICAtLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLQogICAgIGFjdXRlICAgIHwgICAnICAgIHwgJ2Eg LT4gw6EsICcnIC0+IMK0Ci0gICAgZ3JhdmUgICAgfCAgIGAgICAgfCBgYSAtPiDDoAorICAg IGdyYXZlICAgIHwgICBcXD1gICAgIHwgXFw9YGEgLT4gw6AKICAgY2lyY3VtZmxleCB8ICAg XiAgICB8IF5hIC0+IMOiCiAgIGRpYWVyZXNpcyAgfCAgIFwiICAgIHwgXCJhIC0+IMOkICBc IlwiIC0+IMKoCiAgICAgdGlsZGUgICAgfCAgIH4gICAgfCB+YSAtPiDDowpAQCAtMTg0LDcg KzE4NCw3IEBACiAgICAgZWZmZWN0ICAgfCBwcmVmaXggfCBleGFtcGxlcwogIC0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tCiAgICAgYWN1dGUgICAgfCAgICcgICAgfCAnYSAt PiDDoSAgICcnIC0+IMK0Ci0gICAgZ3JhdmUgICAgfCAgIGAgICAgfCBgYSAtPiDDoAorICAg IGdyYXZlICAgIHwgICBcXD1gICAgIHwgXFw9YGEgLT4gw6AKICAgZGlhZXJlc2lzICB8ICAg XCIgICAgfCBcImkgLT4gw68gICBcIlwiIC0+IMKoCiAgICAgdGlsZGUgICAgfCAgIH4gICAg fCB+biAtPiDDsQogICAgY2VkaWxsYSAgIHwgICB+ICAgIHwgfmMgLT4gw6cKQEAgLTI1OSw3 ICsyNTksNyBAQCBLZXkgdHJhbnNsYXRpb24gcnVsZXMgYXJlOgogICAgIGVmZmVjdCAgIHwg cHJlZml4IHwgZXhhbXBsZXMKICAtLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLQog ICAgIGFjdXRlICAgIHwgICAnICAgIHwgJ2UgLT4gw6kKLSAgICBncmF2ZSAgICB8ICAgYCAg ICB8IGBhIC0+IMOgCisgICAgZ3JhdmUgICAgfCAgIFxcPWAgICAgfCBcXD1gYSAtPiDDoAog ICBjaXJjdW1mbGV4IHwgICBeICAgIHwgXmEgLT4gw6IKICAgZGlhZXJlc2lzICB8ICAgXCIg ICAgfCBcImkgLT4gw68KICAgIGNlZGlsbGEgICB8IH4gb3IgLCB8IH5jIC0+IMOnICAgLGMg LT4gw6cKQEAgLTM5OCw3ICszOTgsNyBAQCBLZXkgdHJhbnNsYXRpb24gcnVsZXMgYXJlOgog ICAgIGVmZmVjdCAgIHwgcHJlZml4IHwgZXhhbXBsZXMKICAtLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLQogICAgIGFjdXRlICAgIHwgICAnICAgIHwgJ2EgLT4gw6EgICAnJyAt PiDCtAotICAgIGdyYXZlICAgIHwgICBgICAgIHwgYGEgLT4gw6AKKyAgICBncmF2ZSAgICB8 ICAgXFw9YCAgICB8IFxcPWBhIC0+IMOgCiAgIGNpcmN1bWZsZXggfCAgIF4gICAgfCBeYSAt PiDDogogICBkaWFlcmVzaXMgIHwgICBcIiAgICB8IFwidSAtPiDDvAogICAgIHRpbGRlICAg IHwgICB+ICAgIHwgfmEgLT4gw6MKQEAgLTQ4OSw5ICs0ODksOSBAQCBLZXkgdHJhbnNsYXRp b24gcnVsZXMgYXJlOgogICBkaWFlcmVzaXMgIHwgICBcIiAgICB8IFwiYSAtPiDDpCAgIFwi XCIgLT4gwqgKICAgICBicmV2ZSAgICB8ICAgfiAgICB8IH5hIC0+IMSDCiAgICAgY2Fyb24g ICAgfCAgIH4gICAgfCB+YyAtPiDEjQotICAgY2VkaWxsYSAgIHwgICBgICAgIHwgYGMgLT4g w6cgICBgZSAtPiA/xJkKLSAgICBtaXNjICAgICB8ICcgYCB+ICB8ICdkIC0+IMSRICAgYGwg LT4gxYIgICBgeiAtPiDFvCAgIH5vIC0+IMWRICAgfnUgLT4gxbEKLSAgIHN5bWJvbCAgICB8 ICAgfiAgICB8IGAuIC0+IMuZICAgfn4gLT4gy5ggICB+LiAtPiA/wrgKKyAgIGNlZGlsbGEg ICB8ICAgXFw9YCAgICB8IFxcPWBjIC0+IMOnICAgXFw9YGUgLT4gP8SZCisgICAgbWlzYyAg ICAgfCAnIFxcPWAgfiAgfCAnZCAtPiDEkSAgIFxcPWBsIC0+IMWCICAgXFw9YHogLT4gxbwg ICB+byAtPiDFkSAgIH51IC0+IMWxCisgICBzeW1ib2wgICAgfCAgIH4gICAgfCBcXD1gLiAt PiDLmSAgIH5+IC0+IMuYICAgfi4gLT4gP8K4CiAiIG5pbCB0IG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgdCkKIAogKHF1YWlsLWRlZmluZS1ydWxlcwpAQCAtNTk2LDEzICs1 OTYsMTMgQEAgS2V5IHRyYW5zbGF0aW9uIHJ1bGVzIGFyZToKICAgICBlZmZlY3QgICB8IHBy ZWZpeCB8IGV4YW1wbGVzCiAgLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0KICAg ICBhY3V0ZSAgICB8ICAgJyAgICB8ICdhIC0+IMOhICAgJycgLT4gP8K0Ci0gICAgZ3JhdmUg ICAgfCAgIGAgICAgfCBgYSAtPiDDoAorICAgIGdyYXZlICAgIHwgICBcXD1gICAgIHwgXFw9 YGEgLT4gw6AKICAgY2lyY3VtZmxleCB8ICAgXiAgICB8IF5hIC0+IMOiCiAgIGRpYWVyZXNp cyAgfCAgIFwiICAgIHwgXCJhIC0+IMOkICAgXCJcIiAtPiDCqAogICAgY2VkaWxsYSAgIHwg ICB+ICAgIHwgfmMgLT4gw6cgICB+cyAtPiDFnyAgIH5+IC0+IMK4CiAgIGRvdCBhYm92ZSAg fCAgIC8gLiAgfCAvZyAtPiDEoSAgIC5vIC0+IMShCiAgICAgbWlzYyAgICAgfCBcIiB+IC8g IHwgXCJzIC0+IMOfICAgfmcgLT4gxJ8gICB+dSAtPiDFrSAgIC9oIC0+IMSnICAgL2kgLT4g xLEKLSAgIHN5bWJvbCAgICB8ICAgfiAgICB8IH5gIC0+IMuYICAgLyMgLT4gwqMgICAvJCAt PiDCpCAgIC8vIC0+IMKwCisgICBzeW1ib2wgICAgfCAgIH4gICAgfCB+XFw9YCAtPiDLmCAg IC8jIC0+IMKjICAgLyQgLT4gwqQgICAvLyAtPiDCsAogIiBuaWwgdCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIHQpCiAKIChxdWFpbC1kZWZpbmUtcnVsZXMKQEAgLTczNyw3 ICs3MzcsNyBAQCBGb3IgZXhhbXBsZSwgdGhlIGNoYXJhY3RlciBuYW1lZCBgYW9nb25laycg aXMgb2J0YWluZWQgYnkgYC9hJy4iCiAgICAgZWZmZWN0ICAgfCBwcmVmaXggfCBleGFtcGxl cwogIC0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tCiAgICAgYWN1dGUgICAgfCAg ICcgICAgfCAnYSAtPiDDoQotICAgIGdyYXZlICAgIHwgICBgICAgIHwgYGEgLT4gw6AKKyAg ICBncmF2ZSAgICB8ICAgXFw9YCAgICB8IFxcPWBhIC0+IMOgCiAgIGNpcmN1bWZsZXggfCAg IF4gICAgfCBeYSAtPiDDogogICBkaWFlcmVzaXMgIHwgICBcIiAgICB8IFwiYSAtPiDDpCwg XCJZIC0+IMW4CiAgICAgdGlsZGUgICAgfCAgIH4gICAgfCB+YSAtPiDDowpAQCAtODcyLDcg Kzg3Miw3IEBAIEZvciBleGFtcGxlLCB0aGUgY2hhcmFjdGVyIG5hbWVkIGBhb2dvbmVrJyBp cyBvYnRhaW5lZCBieSBgL2EnLiIKICAgICBlZmZlY3QgICB8IHByZWZpeCB8IGV4YW1wbGVz CiAgLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0KICAgICBhY3V0ZSAgICB8ICAg JyAgICB8ICdhIC0+IMOhCi0gICAgZ3JhdmUgICAgfCAgIGAgICAgfCBgYSAtPiDDoAorICAg IGdyYXZlICAgIHwgICBcXD1gICAgIHwgXFw9YGEgLT4gw6AKICAgY2lyY3VtZmxleCB8ICAg XiAgICB8IF53IC0+IMW1CiAgIGRpYWVyZXNpcyAgfCAgIFwiICAgIHwgXCJhIC0+IMOkCiAg IGRvdCBhYm92ZSAgfCAgIC4gICAgfCAuYiAtPiDhuIMKQEAgLTk5Nyw3ICs5OTcsNyBAQCBv ZiBjaGFyYWN0ZXJzIGZyb20gYSBzaW5nbGUgTGF0aW4tTiBjaGFyc2V0LgogICAgIGVmZmVj dCAgIHwgcHJlZml4IHwgZXhhbXBsZXMKICAtLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLQogICAgIGFjdXRlICAgIHwgICAnICAgIHwgJ2EgLT4gw6EsICcnIC0+IMK0Ci0gICAg Z3JhdmUgICAgfCAgIGAgICAgfCBgYSAtPiDDoAorICAgIGdyYXZlICAgIHwgICBcXD1gICAg IHwgXFw9YGEgLT4gw6AKICAgY2lyY3VtZmxleCB8ICAgXiAgICB8IF5hIC0+IMOiCiAgIGRp YWVyZXNpcyAgfCAgIFwiICAgIHwgXCJhIC0+IMOkICBcIlwiIC0+IMKoCiAgICAgdGlsZGUg ICAgfCAgIH4gICAgfCB+YSAtPiDDowpkaWZmIC0tZ2l0IGEvbGlzcC9sZWltL3F1YWlsL3Ro YWkuZWwgYi9saXNwL2xlaW0vcXVhaWwvdGhhaS5lbAppbmRleCAyNTU0Njg2Li43MmU1MDIw IDEwMDY0NAotLS0gYS9saXNwL2xlaW0vcXVhaWwvdGhhaS5lbAorKysgYi9saXNwL2xlaW0v cXVhaWwvdGhhaS5lbApAQCAtNDcsNyArNDcsNyBAQAogCiBUaGUgZGlmZmVyZW5jZSBmcm9t IHRoZSBvcmRpbmFsIFRoYWkga2V5Ym9hcmQ6CiAgICAg4oCY4Li/4oCZIGFuZCDigJjguY/i gJkgYXJlIGFzc2lnbmVkIHRvIOKAmFxc4oCZIGFuZCDigJh84oCZIHJlc3BlY3RpdmVseSwK LSAgICDigJjguIPigJkgYW5kIOKAmOC4heKAmSBhcmUgYXNzaWduZWQgdG8g4oCYYOKAmSBh bmQg4oCYfuKAmSByZXNwZWN0aXZlbHksCisgICAg4oCY4LiD4oCZIGFuZCDigJjguIXigJkg YXJlIGFzc2lnbmVkIHRvIOKAmFxcPWDigJkgYW5kIOKAmH7igJkgcmVzcGVjdGl2ZWx5LAog ICAgIERvbid0IGtub3cgd2hlcmUgdG8gYXNzaWduIGNoYXJhY3RlcnMg4oCY4Lma4oCZIGFu ZCDigJjguZvigJkuIgogIG5pbCB0IHQgdCB0IG5pbCBuaWwgbmlsIG5pbCBuaWwgdCkKIApk aWZmIC0tZ2l0IGEvbGlzcC9sZWltL3F1YWlsL3RpYmV0YW4uZWwgYi9saXNwL2xlaW0vcXVh aWwvdGliZXRhbi5lbAppbmRleCBhNTRjYmRjLi4xMzEzZjU2IDEwMDY0NAotLS0gYS9saXNw L2xlaW0vcXVhaWwvdGliZXRhbi5lbAorKysgYi9saXNwL2xlaW0vcXVhaWwvdGliZXRhbi5l bApAQCAtMTQxLDcgKzE0MSw3IEBACiAKICAgTk9UIFNQRUNJRklFRCBJTiBFWFQuIFdZTElF OgogICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKLSAgICB84L6CID0gfiB84L6DID0gYCB84L6EID0gLCB84L6FID0gQCB8 4Ly3ID0gX2984Ly1ID0gX0984LyGID0gXnwKKyAgICB84L6CID0gfiB84L6DID0gXFw9YCB8 4L6EID0gLCB84L6FID0gQCB84Ly3ID0gX2984Ly1ID0gX0984LyGID0gXnwKICAgICArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r CiAgICAgfOC+iCA9IHggfOC+iSA9IFggfOC+hiA9IHYgfOC+hyA9IFYgfOC+iiA9IHEgfOC+ iyA9IFEgfAogICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsKZGlmZiAtLWdpdCBhL2xpc3AvbGVpbS9xdWFpbC92aXFyLmVsIGIvbGlzcC9s ZWltL3F1YWlsL3ZpcXIuZWwKaW5kZXggYzVjMWM5NC4uNTcwYTE2YiAxMDA2NDQKLS0tIGEv bGlzcC9sZWltL3F1YWlsL3ZpcXIuZWwKKysrIGIvbGlzcC9sZWltL3F1YWlsL3ZpcXIuZWwK QEAgLTUzLDcgKzUzLDcgQEAKICAgICBob3JuICAgICB8ICAgICsgICAgfCBvKyAtPiDGoQog IC0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLQogICAgIGFjdXRlICAgIHwgICAg JyAgICB8IGEnIC0+IMOhCi0gICAgZ3JhdmUgICAgfCAgICBgICAgIHwgYWAgLT4gw6AKKyAg ICBncmF2ZSAgICB8ICAgIFxcPWAgICAgfCBhXFw9YCAtPiDDoAogICBob29rIGFib3ZlIHwg ICAgPyAgICB8IGE/IC0+IOG6owogICAgIHRpbGRlICAgIHwgICAgfiAgICB8IGF+IC0+IMOj CiAgICBkb3QgYmVsb3cgfCAgICAuICAgIHwgYS4gLT4g4bqhCmRpZmYgLS1naXQgYS9saXNw L29ic29sZXRlL2lzby1hY2MuZWwgYi9saXNwL29ic29sZXRlL2lzby1hY2MuZWwKaW5kZXgg ZWFmNzMyZS4uNDk5YTlkYSAxMDA2NDQKLS0tIGEvbGlzcC9vYnNvbGV0ZS9pc28tYWNjLmVs CisrKyBiL2xpc3Avb2Jzb2xldGUvaXNvLWFjYy5lbApAQCAtMjcyLDcgKzI3Miw3IEBAIFNl ZSB0aGUgZnVuY3Rpb24gYGlzby1hY2NlbnRzLW1vZGUnLiIKIAogKGRlZmN1c3RvbSBpc28t YWNjZW50cy1lbmFibGUgJyg/JyA/YCA/XiA/XCIgP34gPy8pCiAgICJMaXN0IG9mIGFjY2Vu dCBrZXlzIHRoYXQgYmVjb21lIHByZWZpeGVzIGluIElTTyBBY2NlbnRzIG1vZGUuCi1UaGUg ZGVmYXVsdCBpcyAoPycgP2AgP14gP1wiID9+ID8vKSwgd2hpY2ggY29udGFpbnMgYWxsIHRo ZSBzdXBwb3J0ZWQKK1RoZSBkZWZhdWx0IGlzICg/JyA/XFw9YCA/XiA/XCIgP34gPy8pLCB3 aGljaCBjb250YWlucyBhbGwgdGhlIHN1cHBvcnRlZAogYWNjZW50IGtleXMuICBJZiB5b3Ug c2V0IHRoaXMgdmFyaWFibGUgdG8gYSBsaXN0IGluIHdoaWNoIHNvbWUgb2YgdGhvc2UKIGNo YXJhY3RlcnMgYXJlIG1pc3NpbmcsIHRoZSBtaXNzaW5nIG9uZXMgZG8gbm90IGFjdCBhcyBh Y2NlbnRzLgogCkBAIC0zNDYsNyArMzQ2LDcgQEAgdGhlIGxhbmd1YWdlIHlvdSBjaG9vc2Up LiIKICAgIlRvZ2dsZSBJU08gQWNjZW50cyBtb2RlLCBpbiB3aGljaCBhY2NlbnRzIG1vZGlm eSB0aGUgZm9sbG93aW5nIGxldHRlci4KIFRoaXMgcGVybWl0cyBlYXN5IGluc2VydGlvbiBv ZiBhY2NlbnRlZCBjaGFyYWN0ZXJzIGFjY29yZGluZyB0byBJU08tODg1OS0xLgogV2hlbiBJ c28tYWNjZW50cyBtb2RlIGlzIGVuYWJsZWQsIGFjY2VudCBjaGFyYWN0ZXIga2V5cwotXChg LCAnLCBcIiwgXiwgLyBhbmQgfikgZG8gbm90IHNlbGYtaW5zZXJ0OyBpbnN0ZWFkLCB0aGV5 IG1vZGlmeSB0aGUgZm9sbG93aW5nCitcKFxcPWAsICcsIFwiLCBeLCAvIGFuZCB+KSBkbyBu b3Qgc2VsZi1pbnNlcnQ7IGluc3RlYWQsIHRoZXkgbW9kaWZ5IHRoZSBmb2xsb3dpbmcKIGxl dHRlciBrZXkgc28gdGhhdCBpdCBpbnNlcnRzIGFuIElTTyBhY2NlbnRlZCBsZXR0ZXIuCiAK IFlvdSBjYW4gY3VzdG9taXplIElTTyBBY2NlbnRzIG1vZGUgdG8gYSBwYXJ0aWN1bGFyIGxh bmd1YWdlCmRpZmYgLS1naXQgYS9saXNwL29ic29sZXRlL3NjcmliZS5lbCBiL2xpc3Avb2Jz b2xldGUvc2NyaWJlLmVsCmluZGV4IDEyMmIxYmYuLjY4YjIyMDggMTAwNjQ0Ci0tLSBhL2xp c3Avb2Jzb2xldGUvc2NyaWJlLmVsCisrKyBiL2xpc3Avb2Jzb2xldGUvc2NyaWJlLmVsCkBA IC01MCw3ICs1MCw3IEBACiAgIDpncm91cCAnc2NyaWJlKQogCiAoZGVmY3VzdG9tIHNjcmli ZS1lbGVjdHJpYy1xdW90ZSBuaWwKLSAgIk5vbi1uaWwgbWFrZXMgaW5zZXJ0IG9mIGRvdWJs ZSBxdW90ZSB1c2UgYGAgb3IgJycgZGVwZW5kaW5nIG9uIGNvbnRleHQuIgorICAiTm9uLW5p bCBtYWtlcyBpbnNlcnQgb2YgZG91YmxlIHF1b3RlIHVzZSBcXD1gXFw9YCBvciAnJyBkZXBl bmRpbmcgb24gY29udGV4dC4iCiAgIDp0eXBlICdib29sZWFuCiAgIDpncm91cCAnc2NyaWJl KQogCkBAIC0xMjQsNyArMTI0LDcgQEAgSW50ZXJlc3RpbmcgdmFyaWFibGVzOgogICBOb24t bmlsIG1ha2VzIFNjcmliZSBtb2RlIHVzZSBhIGRpZmZlcmVudCBzdHlsZSBvZiBwYXJhZ3Jh cGggc2VwYXJhdGlvbi4KIAogYHNjcmliZS1lbGVjdHJpYy1xdW90ZScKLSAgTm9uLW5pbCBt YWtlcyBpbnNlcnQgb2YgZG91YmxlIHF1b3RlIHVzZSBgYCBvciAnJyBkZXBlbmRpbmcgb24g Y29udGV4dC4KKyAgTm9uLW5pbCBtYWtlcyBpbnNlcnQgb2YgZG91YmxlIHF1b3RlIHVzZSBc XD1gXFw9YCBvciAnJyBkZXBlbmRpbmcgb24gY29udGV4dC4KIAogYHNjcmliZS1lbGVjdHJp Yy1wYXJlbnRoZXNpcycKICAgTm9uLW5pbCBtYWtlcyBhbiBvcGVuLXBhcmVudGhlc2lzIGNo YXIgKG9uZSBvZiBgKFs8eycpCkBAIC0yNjUsOCArMjY1LDggQEAgdG8gc2tpcCBiYWNrd2Fy ZC4iCiAgIChmb3J3YXJkLWNoYXIgLTEpKQogCiAoZGVmdW4gc2NyaWJlLWluc2VydC1xdW90 ZSAoY291bnQpCi0gICJJbnNlcnQgYGAsICcnIG9yIFwiIGFjY29yZGluZyB0byBwcmVjZWRp bmcgY2hhcmFjdGVyLgotSWYgYHNjcmliZS1lbGVjdHJpYy1xdW90ZScgaXMgbm9uLW5pbCwg aW5zZXJ0IGBgLCAnJyBvciBcIiBhY2NvcmRpbmcKKyAgIkluc2VydCBcXD1gXFw9YCwgJycg b3IgXCIgYWNjb3JkaW5nIHRvIHByZWNlZGluZyBjaGFyYWN0ZXIuCitJZiBgc2NyaWJlLWVs ZWN0cmljLXF1b3RlJyBpcyBub24tbmlsLCBpbnNlcnQgXFw9YFxcPWAsICcnIG9yIFwiIGFj Y29yZGluZwogdG8gcHJlY2VkaW5nIGNoYXJhY3Rlci4gIFdpdGggbnVtZXJpYyBhcmcgTiwg YWx3YXlzIGluc2VydCBOIFwiIGNoYXJhY3RlcnMuCiBFbHNlIGp1c3QgaW5zZXJ0IFwiLiIK ICAgKGludGVyYWN0aXZlICJQIikKZGlmZiAtLWdpdCBhL2xpc3Avb2Jzb2xldGUvc3JlZ2V4 LmVsIGIvbGlzcC9vYnNvbGV0ZS9zcmVnZXguZWwKaW5kZXggNDk1OTA3Mi4uODBiMmM5MiAx MDA2NDQKLS0tIGEvbGlzcC9vYnNvbGV0ZS9zcmVnZXguZWwKKysrIGIvbGlzcC9vYnNvbGV0 ZS9zcmVnZXguZWwKQEAgLTQxNiw3ICs0MTYsNyBAQCBIZXJlIGFyZSB0aGUgY2xhdXNlcyBh bGxvd2VkIGluIGFuIGBzcmVnZXgnIG9yIGBzcmVnZXhxJyBleHByZXNzaW9uOgogICBnaXZl biBzZXQuICBTZWUgYmVsb3cgZm9yIGhvdyB0byBjb25zdHJ1Y3QgYSBDSEFSLUNMQVVTRS4K IAogLSB0aGUgc3ltYm9sIGBib3QnCi0gIFN0YW5kcyBmb3IgXCJcXFxcYFwiLCBtYXRjaGlu ZyB0aGUgZW1wdHkgc3RyaW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YKKyAgU3RhbmRzIGZvciBc IlxcXFxcXD1gXCIsIG1hdGNoaW5nIHRoZSBlbXB0eSBzdHJpbmcgYXQgdGhlIGJlZ2lubmlu ZyBvZgogICB0ZXh0IChiZWdpbm5pbmcgb2YgYSBzdHJpbmcgb3Igb2YgYSBidWZmZXIpLgog CiAtIHRoZSBzeW1ib2wgYGVvdCcKZGlmZiAtLWdpdCBhL2xpc3Avb2Jzb2xldGUvdHB1LWVk dC5lbCBiL2xpc3Avb2Jzb2xldGUvdHB1LWVkdC5lbAppbmRleCBjNTk1OWQxLi45ODE0MjY1 IDEwMDY0NAotLS0gYS9saXNwL29ic29sZXRlL3RwdS1lZHQuZWwKKysrIGIvbGlzcC9vYnNv bGV0ZS90cHUtZWR0LmVsCkBAIC02NDgsNyArNjQ4LDcgQEAgR09MRCBpcyB0aGUgQVNDSUkg Ny1iaXQgZXNjYXBlIHNlcXVlbmNlIDxFU0M+T1AuIikKIChtYWtlLXZhcmlhYmxlLWJ1ZmZl ci1sb2NhbCAndHB1LW1hcmstZmxhZykKIAogKGRlZnVuIHRwdS1zZXQtbW9kZS1saW5lIChm b3ItdHB1KQotICAiU2V0IGBgbWlub3ItbW9kZS1hbGlzdCcnIGZvciBUUFUtZWR0LCBvciBy ZXNldCBpdCB0byBkZWZhdWx0IEVtYWNzLiIKKyAgIlNldCBgbWlub3ItbW9kZS1hbGlzdCcg Zm9yIFRQVS1lZHQsIG9yIHJlc2V0IGl0IHRvIGRlZmF1bHQgRW1hY3MuIgogICAobGV0ICgo ZW50cmllcyAnKCh0cHUtbmV3bGluZS1hbmQtaW5kZW50LXAgdHB1LW5ld2xpbmUtYW5kLWlu ZGVudC1zdHJpbmcpCiAgICAgICAgICAgICAgICAgICAgKHRwdS1yZWN0YW5ndWxhci1wIHRw dS1yZWN0YW5nbGUtc3RyaW5nKQogICAgICAgICAgICAgICAgICAgICh0cHUtZGlyZWN0aW9u LXN0cmluZyB0cHUtZGlyZWN0aW9uLXN0cmluZykKZGlmZiAtLWdpdCBhL2xpc3Avb2Jzb2xl dGUvdHB1LW1hcHBlci5lbCBiL2xpc3Avb2Jzb2xldGUvdHB1LW1hcHBlci5lbAppbmRleCA0 YzVlYTEzLi4zMTE1MDM4IDEwMDY0NAotLS0gYS9saXNwL29ic29sZXRlL3RwdS1tYXBwZXIu ZWwKKysrIGIvbGlzcC9vYnNvbGV0ZS90cHUtbWFwcGVyLmVsCkBAIC04MSw3ICs4MSw3IEBA IHN1aXQgeW91ciB0YXN0ZXMgKG9yIHRvIGNvcGUgd2l0aCB0aG9zZSBzaWxseSBTdW4gYW5k IFBDIGtleXBhZHMpLgogRmluYWxseSwgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIHRoZSBu YW1lIG9mIHRoZSBmaWxlIHRvIHN0b3JlIHRoZSBrZXkKIGRlZmluaXRpb25zLiAgSWYgeW91 IGNob3NlIHRoZSBkZWZhdWx0LCBUUFUtZWR0IHdpbGwgZmluZCBpdCBhbmQgbG9hZCBpdAog YXV0b21hdGljYWxseS4gIElmIHlvdSBzcGVjaWZ5IGEgZGlmZmVyZW50IGZpbGUgbmFtZSwg eW91IHdpbGwgbmVlZCB0bwotc2V0IHRoZSB2YXJpYWJsZSBgYHRwdS14a2V5cy1maWxlJycg YmVmb3JlIHN0YXJ0aW5nIFRQVS1lZHQuICBIZXJlJ3MgaG93CitzZXQgdGhlIHZhcmlhYmxl IGB0cHUteGtleXMtZmlsZScgYmVmb3JlIHN0YXJ0aW5nIFRQVS1lZHQuICBIZXJlJ3MgaG93 CiB5b3UgbWlnaHQgZ28gYWJvdXQgZG9pbmcgdGhhdCBpbiB5b3VyIGluaXQgZmlsZS4KIAog ICAoc2V0cSB0cHUteGtleXMtZmlsZSAoZXhwYW5kLWZpbGUtbmFtZSBcIn4vLm15LWVtYWNz LXgta2V5c1wiKSkKZGlmZiAtLWdpdCBhL2xpc3Avb3JnL29iLWNvcmUuZWwgYi9saXNwL29y Zy9vYi1jb3JlLmVsCmluZGV4IGZkMTQ0NjIuLmY3NjdhNGUgMTAwNjQ0Ci0tLSBhL2xpc3Av b3JnL29iLWNvcmUuZWwKKysrIGIvbGlzcC9vcmcvb2ItY29yZS5lbApAQCAtMjU4Myw3ICsy NTgzLDcgQEAgYmxvY2sgYnV0IGFyZSBwYXNzZWQgbGl0ZXJhbGx5IHRvIHRoZSBcImV4YW1w bGUtYmxvY2tcIi4iCiAoZGVmdW4gb3JnLWJhYmVsLXJlYWQgKGNlbGwgJm9wdGlvbmFsIGlu aGliaXQtbGlzcC1ldmFsKQogICAiQ29udmVydCB0aGUgc3RyaW5nIHZhbHVlIG9mIENFTEwg dG8gYSBudW1iZXIgaWYgYXBwcm9wcmlhdGUuCiBPdGhlcndpc2UgaWYgY2VsbCBsb29rcyBs aWtlIGxpc3AgKG1lYW5pbmcgaXQgc3RhcnRzIHdpdGggYQotXCIoXCIsIFwiJ1wiLCBcImBc IiBvciBhIFwiW1wiKSB0aGVuIHJlYWQgaXQgYXMgbGlzcCwKK1wiKFwiLCBcIidcIiwgXCJc XD1gXCIgb3IgYSBcIltcIikgdGhlbiByZWFkIGl0IGFzIGxpc3AsCiBvdGhlcndpc2UgcmV0 dXJuIGl0IHVubW9kaWZpZWQgYXMgYSBzdHJpbmcuICBPcHRpb25hbCBhcmd1bWVudAogTk8t TElTUC1FVkFMIGluaGliaXRzIGxpc3AgZXZhbHVhdGlvbiBmb3Igc2l0dWF0aW9ucyBpbiB3 aGljaCBpcwogaXQgbm90IGFwcHJvcHJpYXRlLiIKZGlmZiAtLWdpdCBhL2xpc3Avb3JnL29y Zy1hZ2VuZGEuZWwgYi9saXNwL29yZy9vcmctYWdlbmRhLmVsCmluZGV4IDhmNzYxMWYuLjlm NGNhYWIgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnL29yZy1hZ2VuZGEuZWwKKysrIGIvbGlzcC9v cmcvb3JnLWFnZW5kYS5lbApAQCAtNTcxMiw3ICs1NzEyLDcgQEAgVGhpcyBmdW5jdGlvbiBp cyBpbnZva2VkIGlmIGBvcmctYWdlbmRhLXRvZG8taWdub3JlLWRlYWRsaW5lcycsCiAgICAo bGV0ICgoY2FsZW5kYXItZGF0ZS1zdHlsZSAnZXVyb3BlYW4pCShldXJvcGVhbi1jYWxlbmRh ci1zdHlsZSB0KSkKICAgICAgKGRpYXJ5LWRhdGUgZGF5IG1vbnRoIHllYXIgbWFyaykpKSkK IAotOzsgRGVmaW5lIHRoZWAgb3JnLWNsYXNzJyBmdW5jdGlvbgorOzsgRGVmaW5lIHRoZSBg b3JnLWNsYXNzJyBmdW5jdGlvbgogKGRlZnVuIG9yZy1jbGFzcyAoeTEgbTEgZDEgeTIgbTIg ZDIgZGF5bmFtZSAmcmVzdCBza2lwLXdlZWtzKQogICAiRW50cnkgYXBwbGllcyBpZiBkYXRl IGlzIGJldHdlZW4gZGF0ZXMgb24gREFZTkFNRSwgYnV0IHNraXBzIFNLSVAtV0VFS1MuCiBE QVlOQU1FIGlzIGEgbnVtYmVyIGJldHdlZW4gMCAoU3VuZGF5KSBhbmQgNiAoU2F0dXJkYXkp LgpkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMvY3BlcmwtbW9kZS5lbCBiL2xpc3AvcHJv Z21vZGVzL2NwZXJsLW1vZGUuZWwKaW5kZXggMmFjZmMxMC4uNzM5MGFhMSAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvY3BlcmwtbW9kZS5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9j cGVybC1tb2RlLmVsCkBAIC03NjMxLDcgKzc2MzEsNyBAQCAkOAlNYXRjaCBvZiB0aGUgOHRo IHNldCBvZiBwYXJlbnRoZXNlcyBpbiB0aGUgbGFzdCBtYXRjaCAoYXV0by1sb2NhbCkuCiAk OQlNYXRjaCBvZiB0aGUgOXRoIHNldCBvZiBwYXJlbnRoZXNlcyBpbiB0aGUgbGFzdCBtYXRj aCAoYXV0by1sb2NhbCkuCiAkJglUaGUgc3RyaW5nIG1hdGNoZWQgYnkgdGhlIGxhc3QgcGF0 dGVybiBtYXRjaCAoYXV0by1sb2NhbCkuCiAkJwlUaGUgc3RyaW5nIGFmdGVyIHdoYXQgd2Fz IG1hdGNoZWQgYnkgdGhlIGxhc3QgbWF0Y2ggKGF1dG8tbG9jYWwpLgotJGAJVGhlIHN0cmlu ZyBiZWZvcmUgd2hhdCB3YXMgbWF0Y2hlZCBieSB0aGUgbGFzdCBtYXRjaCAoYXV0by1sb2Nh bCkuCiskXFw9YAlUaGUgc3RyaW5nIGJlZm9yZSB3aGF0IHdhcyBtYXRjaGVkIGJ5IHRoZSBs YXN0IG1hdGNoIChhdXRvLWxvY2FsKS4KIAogJCgJVGhlIHJlYWwgZ2lkIG9mIHRoaXMgcHJv Y2Vzcy4KICQpCVRoZSBlZmZlY3RpdmUgZ2lkIG9mIHRoaXMgcHJvY2Vzcy4KQEAgLTc2NDcs NyArNzY0Nyw3IEBAICQ7CVN1YnNjcmlwdCBzZXBhcmF0b3IgZm9yIG11bHRpLWRpbSBhcnJh eSBlbXVsYXRpb24uICBEZWZhdWx0IFwiXFwwMzRcIi4KICQ8CVRoZSByZWFsIHVpZCBvZiB0 aGlzIHByb2Nlc3MuCiAkPQlUaGUgcGFnZSBsZW5ndGggb2YgdGhlIGN1cnJlbnQgb3V0cHV0 IGNoYW5uZWwuICBEZWZhdWx0IGlzIDYwIGxpbmVzLgogJD4JVGhlIGVmZmVjdGl2ZSB1aWQg b2YgdGhpcyBwcm9jZXNzLgotJD8JVGhlIHN0YXR1cyByZXR1cm5lZCBieSB0aGUgbGFzdCBg YCwgcGlwZSBjbG9zZSBvciBgc3lzdGVtJy4KKyQ/CVRoZSBzdGF0dXMgcmV0dXJuZWQgYnkg dGhlIGxhc3QgXFw9YFxcPWAsIHBpcGUgY2xvc2Ugb3IgYHN5c3RlbScuCiAkQAlUaGUgcGVy bCBlcnJvciBtZXNzYWdlIGZyb20gdGhlIGxhc3QgZXZhbCBvciBkbyBAdmFye0VYUFJ9IGNv bW1hbmQuCiAkQVJHVglUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlIHVzZWQgd2l0aCA8 PiAuCiAkWwlEZXByZWNhdGVkOiBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IGVsZW1lbnQvY2hh ciBpbiBhbiBhcnJheS9zdHJpbmcuCkBAIC03ODg4LDcgKzc4ODgsNyBAQCBwcmludGYgW0ZJ TEVIQU5ETEVdIChGT1JNQVQsTElTVCkKIHB1c2goQVJSQVksTElTVCkKIHEvU1RSSU5HLwlT eW5vbnltIGZvciAnU1RSSU5HJwogcXEvU1RSSU5HLwlTeW5vbnltIGZvciBcIlNUUklOR1wi Ci1xeC9TVFJJTkcvCVN5bm9ueW0gZm9yIGBTVFJJTkdgCitxeC9TVFJJTkcvCVN5bm9ueW0g Zm9yIFxcPWBTVFJJTkdcXD1gCiByYW5kWyhFWFBSKV0KIHJlYWQoRklMRUhBTkRMRSxTQ0FM QVIsTEVOR1RIWyxPRkZTRVRdKQogcmVhZGRpcihESVJIQU5ETEUpCkBAIC04MDA3LDcgKzgw MDcsNyBAQCBwb3MgU1RSSU5HICAgIFNldC9HZXQgZW5kLXBvc2l0aW9uIG9mIHRoZSBsYXN0 IG1hdGNoIG92ZXIgdGhpcyBzdHJpbmcsIHNlZSBcXEcuCiBxdW90ZW1ldGEgWyBFWFBSIF0J UXVvdGUgcmVnZXhwIG1ldGFjaGFyYWN0ZXJzLgogcXcvV09SRDEgLi4uLwkJU3lub255bSBv ZiBzcGxpdCgnJywgJ1dPUkQxIC4uLicpCiByZWFkbGluZSBGSAlTeW5vbnltIG9mIDxGSD4u Ci1yZWFkcGlwZSBDTUQJU3lub255bSBvZiBgQ01EYC4KK3JlYWRwaXBlIENNRAlTeW5vbnlt IG9mIFxcPWBDTURcXD1gLgogcmVmIFsgRVhQUiBdCVR5cGUgb2YgRVhQUiB3aGVuIGRlcmVm ZXJlbmNlZC4KIHN5c29wZW4gRkgsIEZJTEVOQU1FLCBNT0RFIFssIFBFUk1dCShNT0RFIGlz IG51bWVyaWMsIHNlZSBGY250bC4pCiB0aWUgVkFSLCBQQUNLQUdFLCBMSVNUCUhpZGUgYW4g b2JqZWN0IGJlaGluZCBhIHNpbXBsZSBQZXJsIHZhcmlhYmxlLgpkaWZmIC0tZ2l0IGEvbGlz cC9wcm9nbW9kZXMvZjkwLmVsIGIvbGlzcC9wcm9nbW9kZXMvZjkwLmVsCmluZGV4IDYyNjRk M2IuLjllZDUxNzMgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2Y5MC5lbAorKysgYi9s aXNwL3Byb2dtb2Rlcy9mOTAuZWwKQEAgLTExMTMsNyArMTExMyw3IEBAIEZvciBmaXhlZCBm b3JtYXQgY29kZSwgdXNlIGBmb3J0cmFuLW1vZGUnLgogIGluZGVudGVkIGxpbmUuCiBcXFtm OTAtaW5kZW50LXN1YnByb2dyYW1dIGluZGVudHMgdGhlIGN1cnJlbnQgc3VicHJvZ3JhbS4K IAotVHlwZSBgPyBvciBgXFxbaGVscC1jb21tYW5kXSB0byBkaXNwbGF5IGEgbGlzdCBvZiBi dWlsdC1pblwKK1R5cGUgXFw9YD8gb3IgXFw9YFxcW2hlbHAtY29tbWFuZF0gdG8gZGlzcGxh eSBhIGxpc3Qgb2YgYnVpbHQtaW5cCiAgYWJicmV2cyBmb3IgRjkwIGtleXdvcmRzLgogCiBL ZXkgZGVmaW5pdGlvbnM6CkBAIC0yMjY3LDcgKzIyNjcsNyBAQCBMZWF2ZSBwb2ludCBhdCB0 aGUgZW5kIG9mIGxpbmUuIgogOzsgQWJicmV2cyBhbmQga2V5d29yZHMuCiAKIChkZWZ1biBm OTAtYWJicmV2LXN0YXJ0ICgpCi0gICJUeXBpbmcgYFxcW2hlbHAtY29tbWFuZF0gb3IgYD8g bGlzdHMgYWxsIHRoZSBGOTAgYWJicmV2cy4KKyAgIlR5cGluZyBcXD1gXFxbaGVscC1jb21t YW5kXSBvciBcXD1gPyBsaXN0cyBhbGwgdGhlIEY5MCBhYmJyZXZzLgogQW55IG90aGVyIGtl eSBjb21iaW5hdGlvbiBpcyBleGVjdXRlZCBub3JtYWxseS4iCiAgIChpbnRlcmFjdGl2ZSAi KiIpCiAgIChzZWxmLWluc2VydC1jb21tYW5kIDEpCmRpZmYgLS1naXQgYS9saXNwL3Byb2dt b2Rlcy9pZGx3YXZlLmVsIGIvbGlzcC9wcm9nbW9kZXMvaWRsd2F2ZS5lbAppbmRleCA0NWYw ODBjLi4yNjM1YTgyIDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9pZGx3YXZlLmVsCisr KyBiL2xpc3AvcHJvZ21vZGVzL2lkbHdhdmUuZWwKQEAgLTc0Miw4ICs3NDIsOCBAQCBUaGUg YWN0aW9ucyB0aGF0IGNhbiBiZSBwZXJmb3JtZWQgYXJlIGxpc3RlZCBpbiBgaWRsd2F2ZS1p bmRlbnQtYWN0aW9uLXRhYmxlJy4iCiAKIChkZWZjdXN0b20gaWRsd2F2ZS1hYmJyZXYtc3Rh cnQtY2hhciAiXFwiCiAgICJBIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nIHVzZWQgdG8gc3Rh cnQgYWJicmV2aWF0aW9ucyBpbiBhYmJyZXYgbW9kZS4KLVBvc3NpYmxlIGNoYXJhY3RlcnMg dG8gY2hvc2UgZnJvbTogfmBcJQotb3IgZXZlbiAnPycuICAnLicgaXMgbm90IGEgZ29vZCBj aG9pY2UgYmVjYXVzZSBpdCBjYW4gbWFrZSBzdHJ1Y3R1cmUKK1Bvc3NpYmxlIGNoYXJhY3Rl cnMgdG8gY2hvb3NlIGZyb206IH5cXD1gXCUKK29yIGV2ZW4g4oCYP+KAmS4gIOKAmC7igJkg aXMgbm90IGEgZ29vZCBjaG9pY2UgYmVjYXVzZSBpdCBjYW4gbWFrZSBzdHJ1Y3R1cmUKIGZp ZWxkIG5hbWVzIGFjdCBsaWtlIGFiYnJldnMgaW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzLgog CiBDaGFuZ2VzIHRvIHRoaXMgaW4gYGlkbHdhdmUtbW9kZS1ob29rJyB3aWxsIGhhdmUgbm8g ZWZmZWN0LiAgSW5zdGVhZCBhIHVzZXIKZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3No LXNjcmlwdC5lbCBiL2xpc3AvcHJvZ21vZGVzL3NoLXNjcmlwdC5lbAppbmRleCBlNGQxNmVi Li41MzdiMTgwIDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9zaC1zY3JpcHQuZWwKKysr IGIvbGlzcC9wcm9nbW9kZXMvc2gtc2NyaXB0LmVsCkBAIC05MjEsNyArOTIxLDcgQEAgU2Vl IGBzaC1mZWF0dXJlJy4iKQogICAgICAoOmZvcmVncm91bmQgIm1hZ2VudGEiKSkKICAgICAo dAogICAgICAoOndlaWdodCBib2xkKSkpCi0gICJGYWNlIHRvIHNob3cgcXVvdGVkIGV4ZWNz IGxpa2UgYGJsYWJsYWAuIgorICAiRmFjZSB0byBzaG93IHF1b3RlZCBleGVjcyBsaWtlIFxc PWBibGFibGFcXD1gLiIKICAgOmdyb3VwICdzaC1pbmRlbnRhdGlvbikKIChkZWZpbmUtb2Jz b2xldGUtZmFjZS1hbGlhcyAnc2gtaGVyZWRvYy1mYWNlICdzaC1oZXJlZG9jICIyMi4xIikK IChkZWZ2YXIgc2gtaGVyZWRvYy1mYWNlICdzaC1oZXJlZG9jKQpkaWZmIC0tZ2l0IGEvbGlz cC9wcm9nbW9kZXMvdmVyaWxvZy1tb2RlLmVsIGIvbGlzcC9wcm9nbW9kZXMvdmVyaWxvZy1t b2RlLmVsCmluZGV4IDRiMGNiMGYuLjExYjc1NjEgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21v ZGVzL3Zlcmlsb2ctbW9kZS5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy92ZXJpbG9nLW1vZGUu ZWwKQEAgLTU5NywxMSArNTk3LDExIEBAIFNldCB0byAwIHRvIGdldCB0aGVtIGxpc3Qgcmln aHQgdW5kZXIgY29udGFpbmluZyBibG9jay4iCiAgICJIb3cgdG8gdHJlYXQgbWFjcm8gZXhw YW5zaW9ucyBpbiBhIGRlY2xhcmF0aW9uLgogSWYgbmlsLCBpbmRlbnQgYXM6CiAJaW5wdXQg WzMxOjBdIGE7Ci0JaW5wdXQgICAgICAgIGBDUDsKKwlpbnB1dCAgICAgICAgXFw9YENQOwog CW91dHB1dCAgICAgICBjOwogSWYgbm9uIG5pbCwgdHJlYXQgYXM6CiAJaW5wdXQgWzMxOjBd IGE7Ci0JaW5wdXQgYENQICAgIDsKKwlpbnB1dCBcXD1gQ1AgICAgOwogCW91dHB1dCAgICAg ICBjOyIKICAgOmdyb3VwICd2ZXJpbG9nLW1vZGUtaW5kZW50CiAgIDp0eXBlICdib29sZWFu KQpAQCAtNjI4LDcgKzYyOCw3IEBAIFNldCB0byAwIHRvIGdldCBzdWNoIGNvZGUgdG8gc3Rh cnQgYXQgdGhlIGxlZnQgc2lkZSBvZiB0aGUgc2NyZWVuLiIKIChwdXQgJ3Zlcmlsb2ctaW5k ZW50LWxldmVsLWJlaGF2aW9yYWwgJ3NhZmUtbG9jYWwtdmFyaWFibGUgJ2ludGVnZXJwKQog CiAoZGVmY3VzdG9tIHZlcmlsb2ctaW5kZW50LWxldmVsLWRpcmVjdGl2ZSAxCi0gICJJbmRl bnRhdGlvbiB0byBhZGQgdG8gZWFjaCBsZXZlbCBvZiBgaWZkZWYgZGVjbGFyYXRpb25zLgor ICAiSW5kZW50YXRpb24gdG8gYWRkIHRvIGVhY2ggbGV2ZWwgb2YgXFw9YGlmZGVmIGRlY2xh cmF0aW9ucy4KIFNldCB0byAwIHRvIGhhdmUgYWxsIGRpcmVjdGl2ZXMgc3RhcnQgYXQgdGhl IGxlZnQgc2lkZSBvZiB0aGUgc2NyZWVuLiIKICAgOmdyb3VwICd2ZXJpbG9nLW1vZGUtaW5k ZW50CiAgIDp0eXBlICdpbnRlZ2VyKQpAQCAtNzMzLDggKzczMyw4IEBAIGZpbGUgcmVmZXJl bmNlZC4gIElmIGZhbHNlLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuIgogCiAoZGVmY3VzdG9t IHZlcmlsb2ctYXV0by1kZWNsYXJlLW5ldHR5cGUgbmlsCiAgICJOb24tbmlsIHNwZWNpZmll cyB0aGUgZGF0YSB0eXBlIHRvIHVzZSB3aXRoIGB2ZXJpbG9nLWF1dG8taW5wdXQnIGV0Yy4K LVNldCB0aGlzIHRvIFwid2lyZVwiIGlmIHRoZSBWZXJpbG9nIGNvZGUgdXNlcyBcImBkZWZh dWx0X25ldHR5cGUKLW5vbmVcIi4gIE5vdGUgdXNpbmcgYGRlZmF1bHRfbmV0dHlwZSBub25l IGlzbid0IHJlY29tbWVuZGVkIHByYWN0aWNlOyB0aGlzCitTZXQgdGhpcyB0byBcIndpcmVc IiBpZiB0aGUgVmVyaWxvZyBjb2RlIHVzZXMgXCJcXD1gZGVmYXVsdF9uZXR0eXBlCitub25l XCIuICBOb3RlIHVzaW5nIFxcPWBkZWZhdWx0X25ldHR5cGUgbm9uZSBpc24ndCByZWNvbW1l bmRlZCBwcmFjdGljZTsgdGhpcwogbW9kZSBpcyBleHBlcmltZW50YWwuIgogICA6dmVyc2lv biAiMjQuMSIgIDs7IHJldjY3MAogICA6Z3JvdXAgJ3Zlcmlsb2ctbW9kZS1hY3Rpb25zCkBA IC0zNjcwLDcgKzM2NzAsNyBAQCBWYXJpYWJsZXMgY29udHJvbGxpbmcgaW5kZW50YXRpb24v ZWRpdCBzdHlsZToKICAgIFNldCB0byAwIHRvIGdldCBzdWNoIGNvZGUgdG8gbGluZWQgdXAg dW5kZXJuZWF0aCB0aGUgdGFzayBvcgogICAgZnVuY3Rpb24ga2V5d29yZC4KICBgdmVyaWxv Zy1pbmRlbnQtbGV2ZWwtZGlyZWN0aXZlJyAgICAgKGRlZmF1bHQgMSkKLSAgIEluZGVudGF0 aW9uIG9mIGBpZmRlZi9gZW5kaWYgYmxvY2tzLgorICAgSW5kZW50YXRpb24gb2YgXFw9YGlm ZGVmL1xcPWBlbmRpZiBibG9ja3MuCiAgYHZlcmlsb2ctY2V4cC1pbmRlbnQnICAgICAgICAg ICAgICAoZGVmYXVsdCAxKQogICAgSW5kZW50YXRpb24gb2YgVmVyaWxvZyBzdGF0ZW1lbnRz IGJyb2tlbiBhY3Jvc3MgbGluZXMgaS5lLjoKICAgICAgIGlmIChhKQpAQCAtOTIzNSw5ICs5 MjM1LDkgQEAgT3B0aW9uYWxseSBhc3NvY2lhdGUgaXQgd2l0aCB0aGUgc3BlY2lmaWVkIGVu dW1lcmF0aW9uIEVOVU1OQU1FLiIKICAgICAgICAgICAoYWRkLXRvLWxpc3QgKG1ha2UtbG9j YWwtdmFyaWFibGUgZW51bXZhcikgZGVmbmFtZSkpKSkpCiAKIChkZWZ1biB2ZXJpbG9nLXJl YWQtZGVmaW5lcyAoJm9wdGlvbmFsIGZpbGVuYW1lIHJlY3Vyc2Ugc3ViY2FsbCkKLSAgIlJl YWQgYGRlZmluZXMgYW5kIHBhcmFtZXRlcnMgZm9yIHRoZSBjdXJyZW50IGZpbGUsIG9yIG9w dGlvbmFsIEZJTEVOQU1FLgorICAiUmVhZCBcXD1gZGVmaW5lcyBhbmQgcGFyYW1ldGVycyBm b3IgdGhlIGN1cnJlbnQgZmlsZSwgb3Igb3B0aW9uYWwgRklMRU5BTUUuCiBJZiB0aGUgZmls ZW5hbWUgaXMgcHJvdmlkZWQsIGB2ZXJpbG9nLWxpYnJhcnktZmxhZ3MnIHdpbGwgYmUgdXNl ZCB0bwotcmVzb2x2ZSBpdC4gIElmIG9wdGlvbmFsIFJFQ1VSU0UgaXMgbm9uLW5pbCwgcmVj dXJzZSB0aHJvdWdoIGBpbmNsdWRlcy4KK3Jlc29sdmUgaXQuICBJZiBvcHRpb25hbCBSRUNV UlNFIGlzIG5vbi1uaWwsIHJlY3Vyc2UgdGhyb3VnaCBcXD1gaW5jbHVkZXMuCiAKIFBhcmFt ZXRlcnMgbXVzdCBiZSBzaW1wbGUgYXNzaWdubWVudHMgdG8gY29uc3RhbnRzLCBvciBoYXZl IHRoZWlyIG93bgogXCJwYXJhbWV0ZXJcIiBsYWJlbCByYXRoZXIgdGhhbiBhIGxpc3Qgb2Yg cGFyYW1ldGVycy4gIFRodXM6CkBAIC05MzIwLDggKzkzMjAsOCBAQCB3YXJuaW5nIG1lc3Nh Z2UsIHlvdSBuZWVkIHRvIGFkZCB0byB5b3VyIGluaXQgZmlsZToKIAkgICAgKGZvcndhcmQt Y29tbWVudCA5OTk5OSkpKSkpKSkKIAogKGRlZnVuIHZlcmlsb2ctcmVhZC1pbmNsdWRlcyAo KQotICAiUmVhZCBgaW5jbHVkZXMgZm9yIHRoZSBjdXJyZW50IGZpbGUuCi1UaGlzIHdpbGwg ZmluZCBhbGwgb2YgdGhlIGBpbmNsdWRlcyB3aGljaCBhcmUgYXQgdGhlIGJlZ2lubmluZyBv ZiBsaW5lcywKKyAgIlJlYWQgXFw9YGluY2x1ZGVzIGZvciB0aGUgY3VycmVudCBmaWxlLgor VGhpcyB3aWxsIGZpbmQgYWxsIG9mIHRoZSBcXD1gaW5jbHVkZXMgd2hpY2ggYXJlIGF0IHRo ZSBiZWdpbm5pbmcgb2YgbGluZXMsCiBpZ25vcmluZyBhbnkgaWZkZWZzIG9yIG11bHRpbGlu ZSBjb21tZW50cyBhcm91bmQgdGhlbS4KIGB2ZXJpbG9nLXJlYWQtZGVmaW5lcycgaXMgdGhl biBwZXJmb3JtZWQgb24gdGhlIGN1cnJlbnQgYW5kIGVhY2ggaW5jbHVkZWQKIGZpbGUuCkBA IC05MzQzLDExICs5MzQzLDExIEBAIHZhcmlhYmxlIG92ZXIgYW5kIG92ZXIgd2hlbiBtYW55 IG1vZHVsZXMgYXJlIGNvbXBpbGVkIHRvZ2V0aGVyLCBwdXQgYSB0ZXN0CiBhcm91bmQgdGhl IGluc2lkZSBlYWNoIGluY2x1ZGUgZmlsZToKIAogZm9vLnYgKGFuIGluY2x1ZGUgZmlsZSk6 Ci0JYGlmZGVmIF9GT09fVgkvLyBpbmNsdWRlIGlmIG5vdCBhbHJlYWR5IGluY2x1ZGVkCi0J YGVsc2UKLQlgZGVmaW5lIF9GT09fVgorCVxcPWBpZmRlZiBfRk9PX1YJLy8gaW5jbHVkZSBp ZiBub3QgYWxyZWFkeSBpbmNsdWRlZAorCVxcPWBlbHNlCisJXFw9YGRlZmluZSBfRk9PX1YK IAkuLi4gY29udGVudHMgb2YgZmlsZQotCWBlbmRpZiAvLyBfRk9PX1YiCisJXFw9YGVuZGlm IC8vIF9GT09fViIKICAgOztzbG93OiAgKHZlcmlsb2ctcmVhZC1kZWZpbmVzIG5pbCB0KQog ICAoc2F2ZS1leGN1cnNpb24KICAgICAodmVyaWxvZy1nZXRvcHQtZmxhZ3MpCkBAIC0xMTE4 NCw3ICsxMTE4NCw3IEBAIExpbWl0YXRpb25zOgogICBgdmVyaWxvZy1saWJyYXJ5LWV4dGVu c2lvbnMnLCBhbmQgYmVpbmcgZm91bmQgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LCBvcgogICBi eSBjaGFuZ2luZyB0aGUgdmFyaWFibGUgYHZlcmlsb2ctbGlicmFyeS1mbGFncycgb3IKICAg YHZlcmlsb2ctbGlicmFyeS1kaXJlY3RvcmllcycuICBNYWNyb3MgYG1vZG5hbWUgYXJlIHRy YW5zbGF0ZWQgdGhyb3VnaCB0aGUKLSAgdmgte25hbWV9IEVtYWNzIHZhcmlhYmxlLCBpZiB0 aGF0IGlzIG5vdCBmb3VuZCwgaXQganVzdCBpZ25vcmVzIHRoZSBgLgorICB2aC17bmFtZX0g RW1hY3MgdmFyaWFibGUsIGlmIHRoYXQgaXMgbm90IGZvdW5kLCBpdCBqdXN0IGlnbm9yZXMg dGhlIFxcPWAuCiAKICAgSW4gdGVtcGxhdGVzIHlvdSBtdXN0IGhhdmUgb25lIHNpZ25hbCBw ZXIgbGluZSwgZW5kaW5nIGluIGEgKSwgb3IgKSk7LAogICBhbmQgaGF2ZSBwcm9wZXIgKCkg bmVzdGluZywgaW5jbHVkaW5nIGEgZmluYWwgKTsgdG8gZW5kIHRoZSB0ZW1wbGF0ZS4KQEAg LTEyNzU0LDggKzEyNzU0LDggQEAgTGltaXRhdGlvbnM6CiAgIGxpc3RzLiAgQVVUT1NFTlNF IHdpbGwgdGh1cyBleGNsdWRlIHRoZW0sIGFuZCBhZGQgYSAvKm1lbW9yeSBvciovIGNvbW1l bnQuCiAKIENvbnN0YW50IHNpZ25hbHM6Ci0gIEFVVE9TRU5TRSBjYW5ub3QgYWx3YXlzIGRl dGVybWluZSBpZiBhIGBkZWZpbmUgaXMgYSBjb25zdGFudCBvciBhIHNpZ25hbAotICAoaXQg Y291bGQgYmUgaW4gYW4gaW5jbHVkZSBmaWxlIGZvciBleGFtcGxlKS4gIElmIGEgYGRlZmlu ZSBvciBvdGhlciBzaWduYWwKKyAgQVVUT1NFTlNFIGNhbm5vdCBhbHdheXMgZGV0ZXJtaW5l IGlmIGEgXFw9YGRlZmluZSBpcyBhIGNvbnN0YW50IG9yIGEgc2lnbmFsCisgIChpdCBjb3Vs ZCBiZSBpbiBhbiBpbmNsdWRlIGZpbGUgZm9yIGV4YW1wbGUpLiAgSWYgYSBcXD1gZGVmaW5l IG9yIG90aGVyIHNpZ25hbAogICBpcyBwdXQgaW50byB0aGUgQVVUT1NFTlNFIGxpc3QgYW5k IGlzIG5vdCBkZXNpcmVkLCB1c2UgdGhlIEFVVE9fQ09OU1RBTlQKICAgZGVjbGFyYXRpb24g YW55d2hlcmUgaW4gdGhlIG1vZHVsZSAocGFyZW50aGVzaXMgYXJlIHJlcXVpcmVkKToKIApA QCAtMTI4NzAsOCArMTI4NzAsOCBAQCB0aGVtIHRvIGEgb25lLgogQVVUT1JFU0VUIG1heSB0 cnkgdG8gcmVzZXQgYXJyYXlzIG9yIHN0cnVjdHVyZXMgdGhhdCBjYW5ub3QgYmUKIHJlc2V0 IGJ5IGEgc2ltcGxlIGFzc2lnbm1lbnQsIHJlc3VsdGluZyBpbiBjb21waWxlIGVycm9ycy4g IFRoaXMKIGlzIGEgZmVhdHVyZSB0byBiZSB0YWtlbiBhcyBhIGhpbnQgdGhhdCB5b3UgbmVl ZCB0byByZXNldCB0aGVzZQotc2lnbmFscyBtYW51YWxseSAob3IgcHV0IHRoZW0gaW50byBh IFwiYGlmZGVmIE5FVkVSIHNpZ25hbDw9YDA7Ci1gZW5kaWZcIiBzbyBWZXJpbG9nLU1vZGUg aWdub3JlcyB0aGVtLikKK3NpZ25hbHMgbWFudWFsbHkgKG9yIHB1dCB0aGVtIGludG8gYSBc IlxcPWBpZmRlZiBORVZFUiBzaWduYWw8PVxcPWAwOworXFw9YGVuZGlmXCIgc28gVmVyaWxv Zy1Nb2RlIGlnbm9yZXMgdGhlbS4pCiAKIEFuIGV4YW1wbGU6CiAKQEAgLTEzMDQxLDI3ICsx MzA0MSwyNyBAQCBUeXBpbmcgXFxbdmVyaWxvZy1hdXRvXSB3aWxsIG1ha2UgdGhpcyBpbnRv OgogCiAoZGVmdW4gdmVyaWxvZy1hdXRvLXVuZGVmICgpCiAgICJFeHBhbmQgQVVUT1VOREVG IHN0YXRlbWVudHMsIGFzIHBhcnQgb2YgXFxbdmVyaWxvZy1hdXRvXS4KLVRha2UgYW55IGBk ZWZpbmVzIHNpbmNlIHRoZSBsYXN0IEFVVE9VTkRFRiBpbiB0aGUgY3VycmVudCBmaWxlCi1h bmQgY3JlYXRlIGB1bmRlZnMgZm9yIHRoZW0uICBUaGlzIGlzIHVzZWQgdG8gaW5zdXJlIHRo YXQKLWZpbGUtbG9jYWwgZGVmaW5lcyBkbyBub3QgcG9sbHV0ZSB0aGUgZ2xvYmFsIGBkZWZp bmUgbmFtZSBzcGFjZS4KK1Rha2UgYW55IFxcPWBkZWZpbmVzIHNpbmNlIHRoZSBsYXN0IEFV VE9VTkRFRiBpbiB0aGUgY3VycmVudCBmaWxlCithbmQgY3JlYXRlIFxcPWB1bmRlZnMgZm9y IHRoZW0uICBUaGlzIGlzIHVzZWQgdG8gaW5zdXJlIHRoYXQKK2ZpbGUtbG9jYWwgZGVmaW5l cyBkbyBub3QgcG9sbHV0ZSB0aGUgZ2xvYmFsIFxcPWBkZWZpbmUgbmFtZSBzcGFjZS4KIAog TGltaXRhdGlvbnM6Ci0gIEFVVE9VTkRFRiBwcmVzdW1lcyBhbnkgaWRlbnRpZmllciBmb2xs b3dpbmcgYGRlZmluZSBpcyB0aGUKLSAgbmFtZSBvZiBhIGRlZmluZS4gIEFueSBgaWZkZWZz IGFyZSBpZ25vcmVkLgorICBBVVRPVU5ERUYgcHJlc3VtZXMgYW55IGlkZW50aWZpZXIgZm9s bG93aW5nIFxcPWBkZWZpbmUgaXMgdGhlCisgIG5hbWUgb2YgYSBkZWZpbmUuICBBbnkgXFw9 YGlmZGVmcyBhcmUgaWdub3JlZC4KIAotICBBVVRPVU5ERUYgc3VwcHJlc3NlcyBjcmVhdGlu ZyBhbiBgdW5kZWYgZm9yIGFueSBkZWZpbmUgdGhhdCB3YXMKLSAgYHVuZGVmZWQgYmVmb3Jl IHRoZSBBVVRPVU5ERUYuICBUaGlzIG1heSBiZSB1c2VkIHRvIHdvcmsgYXJvdW5kCi0gIHRo ZSBpZ25vcmluZyBvZiBgaWZkZWZzIGFzIHNob3duIGJlbG93LgorICBBVVRPVU5ERUYgc3Vw cHJlc3NlcyBjcmVhdGluZyBhbiBcXD1gdW5kZWYgZm9yIGFueSBkZWZpbmUgdGhhdCB3YXMK KyAgXFw9YHVuZGVmZWQgYmVmb3JlIHRoZSBBVVRPVU5ERUYuICBUaGlzIG1heSBiZSB1c2Vk IHRvIHdvcmsgYXJvdW5kCisgIHRoZSBpZ25vcmluZyBvZiBcXD1gaWZkZWZzIGFzIHNob3du IGJlbG93LgogCiBBbiBleGFtcGxlOgogCi0JYGRlZmluZSBYWF9GT08KLQlgZGVmaW5lIE1f QkFSKHgpCi0JYGRlZmluZSBNX0JBWgorCVxcPWBkZWZpbmUgWFhfRk9PCisJXFw9YGRlZmlu ZSBNX0JBUih4KQorCVxcPWBkZWZpbmUgTV9CQVoKIAkuLi4KLQlgaWZkZWYgTkVWRVIKLQkg IGB1bmRlZiBNX0JBWgkvLyBFbWFjcyB3aWxsIHNlZSB0aGlzIGFuZCBub3QgYHVuZGVmIE1f QkFaCi0JYGVuZGlmCisJXFw9YGlmZGVmIE5FVkVSCisJICBcXD1gdW5kZWYgTV9CQVoJLy8g RW1hY3Mgd2lsbCBzZWUgdGhpcyBhbmQgbm90IFxcPWB1bmRlZiBNX0JBWgorCVxcPWBlbmRp ZgogCS4uLgogCS8qQVVUT1VOREVGKi8KIApAQCAtMTMwNzAsOCArMTMwNzAsOCBAQCBUeXBp bmcgXFxbdmVyaWxvZy1hdXRvXSB3aWxsIG1ha2UgdGhpcyBpbnRvOgogCS4uLgogCS8qQVVU T1VOREVGKi8KIAkvLyBCZWdpbm5pbmcgb2YgYXV0b21hdGljIHVuZGVmcwotCWB1bmRlZiBY WF9GT08KLQlgdW5kZWYgTV9CQVIKKwlcXD1gdW5kZWYgWFhfRk9PCisJXFw9YHVuZGVmIE1f QkFSCiAJLy8gRW5kIG9mIGF1dG9tYXRpY3MKIAogWW91IG1heSBhbHNvIHByb3ZpZGUgYW4g b3B0aW9uYWwgcmVndWxhciBleHByZXNzaW9uLCBpbiB3aGljaCBjYXNlIG9ubHkKQEAgLTEz NDY2LDEyICsxMzQ2NiwxMiBAQCBVc2luZyBcXFtkZXNjcmliZS1mdW5jdGlvbl0sIHNlZSBh bHNvOgogICAgIGB2ZXJpbG9nLWF1dG8tcmVzZXQnICAgICAgICBmb3IgQVVUT1JFU0VUIGZs b3AgcmVzZXRzCiAgICAgYHZlcmlsb2ctYXV0by1zZW5zZScgICAgICAgIGZvciBBVVRPU0VO U0Ugb3IgQVMgYWx3YXlzIHNlbnNpdGl2aXR5IGxpc3RzCiAgICAgYHZlcmlsb2ctYXV0by10 aWVvZmYnICAgICAgIGZvciBBVVRPVElFT0ZGIG91dHB1dCB0aWVvZmZzCi0gICAgYHZlcmls b2ctYXV0by11bmRlZicgICAgICAgIGZvciBBVVRPVU5ERUYgYHVuZGVmIG9mIGxvY2FsIGBk ZWZpbmVzCisgICAgYHZlcmlsb2ctYXV0by11bmRlZicgICAgICAgIGZvciBBVVRPVU5ERUYg XFw9YHVuZGVmIG9mIGxvY2FsIFxcPWBkZWZpbmVzCiAgICAgYHZlcmlsb2ctYXV0by11bnVz ZWQnICAgICAgIGZvciBBVVRPVU5VU0VEIHVudXNlZCBpbnB1dHMvaW5vdXRzCiAgICAgYHZl cmlsb2ctYXV0by13aXJlJyAgICAgICAgIGZvciBBVVRPV0lSRSBpbnN0YW50aWF0aW9uIHdp cmVzCiAKLSAgICBgdmVyaWxvZy1yZWFkLWRlZmluZXMnICAgICAgZm9yIHJlYWRpbmcgYGRl ZmluZSB2YWx1ZXMKLSAgICBgdmVyaWxvZy1yZWFkLWluY2x1ZGVzJyAgICAgZm9yIHJlYWRp bmcgYGluY2x1ZGVzCisgICAgYHZlcmlsb2ctcmVhZC1kZWZpbmVzJyAgICAgIGZvciByZWFk aW5nIFxcPWBkZWZpbmUgdmFsdWVzCisgICAgYHZlcmlsb2ctcmVhZC1pbmNsdWRlcycgICAg IGZvciByZWFkaW5nIFxcPWBpbmNsdWRlcwogCiBJZiB5b3UgaGF2ZSBidWdzIHdpdGggdGhl c2UgYXV0b3MsIHBsZWFzZSBmaWxlIGFuIGlzc3VlIGF0CiBVUkwgYGh0dHA6Ly93d3cudmVy aXBvb2wub3JnL3Zlcmlsb2ctbW9kZScgb3IgY29udGFjdCB0aGUgQVVUT0FVVEhPUgpkaWZm IC0tZ2l0IGEvbGlzcC9za2VsZXRvbi5lbCBiL2xpc3Avc2tlbGV0b24uZWwKaW5kZXggMTM2 MzQyMi4uZDIzNDg4YiAxMDA2NDQKLS0tIGEvbGlzcC9za2VsZXRvbi5lbAorKysgYi9saXNw L3NrZWxldG9uLmVsCkBAIC00ODEsNyArNDgxLDcgQEAgVGhpcyBhbGxvd3MgZm9yIGNvbnRl eHQtc2Vuc2l0aXZlIGNoZWNraW5nIHdoZXRoZXIgcGFpcmluZyBpcyBhcHByb3ByaWF0ZS4i KQogRWFjaCBhbGlzdCBlbGVtZW50LCB3aGljaCBsb29rcyBsaWtlIChFTEVNRU5UIC4uLiks IGlzIHBhc3NlZCB0bwogYHNrZWxldG9uLWluc2VydCcgd2l0aCBubyBpbnRlcmFjdG9yLiAg VmFyaWFibGUgYHN0cicgZG9lcyBub3RoaW5nLgogCi1FbGVtZW50cyBtaWdodCBiZSAoP2Ag P2AgXyBcIicnXCIpLCAoP1xcKCA/ICBfIFwiIClcIikgb3IgKD97IFxcbiA+IF8gXFxuID99 ID4pLiIpCitFbGVtZW50cyBtaWdodCBiZSAoP1xcPWAgP1xcPWAgXyBcIicnXCIpLCAoP1xc KCA/ICBfIFwiIClcIikgb3IgKD97IFxcbiA+IF8gXFxuID99ID4pLiIpCiAKIChkZWZ2YXIg c2tlbGV0b24tcGFpci1kZWZhdWx0LWFsaXN0ICcoKD8oIF8gPykpICg/XCkpCiAJCQkJICAg ICAgKD9bIF8gP10pICg/XF0pCmRpZmYgLS1naXQgYS9saXNwL3RleHRtb2Rlcy90ZXgtbW9k ZS5lbCBiL2xpc3AvdGV4dG1vZGVzL3RleC1tb2RlLmVsCmluZGV4IDI3NGNiNGEuLjUzNWI4 ODUgMTAwNjQ0Ci0tLSBhL2xpc3AvdGV4dG1vZGVzL3RleC1tb2RlLmVsCisrKyBiL2xpc3Av dGV4dG1vZGVzL3RleC1tb2RlLmVsCkBAIC0xMDM0LDcgKzEwMzQsNyBAQCBzYXlzIHdoaWNo IG1vZGUgdG8gdXNlLiIKIChkZWZpbmUtZGVyaXZlZC1tb2RlIHBsYWluLXRleC1tb2RlIHRl eC1tb2RlICJUZVgiCiAgICJNYWpvciBtb2RlIGZvciBlZGl0aW5nIGZpbGVzIG9mIGlucHV0 IGZvciBwbGFpbiBUZVguCiBNYWtlcyAkIGFuZCB9IGRpc3BsYXkgdGhlIGNoYXJhY3RlcnMg dGhleSBtYXRjaC4KLU1ha2VzIFwiIGluc2VydCBgYCB3aGVuIGl0IHNlZW1zIHRvIGJlIHRo ZSBiZWdpbm5pbmcgb2YgYSBxdW90YXRpb24sCitNYWtlcyBcIiBpbnNlcnQgXFw9YFxcPWAg d2hlbiBpdCBzZWVtcyB0byBiZSB0aGUgYmVnaW5uaW5nIG9mIGEgcXVvdGF0aW9uLAogYW5k ICcnIHdoZW4gaXQgYXBwZWFycyB0byBiZSB0aGUgZW5kOyBpdCBpbnNlcnRzIFwiIG9ubHkg YWZ0ZXIgYSBcXC4KIAogVXNlIFxcW3RleC1yZWdpb25dIHRvIHJ1biBUZVggb24gdGhlIGN1 cnJlbnQgcmVnaW9uLCBwbHVzIGEgXCJoZWFkZXJcIgpAQCAtMTA4MCw3ICsxMDgwLDcgQEAg c3BlY2lhbCBzdWJzaGVsbCBpcyBpbml0aWF0ZWQsIHRoZSBob29rIGB0ZXgtc2hlbGwtaG9v aycgaXMgcnVuLiIKIChkZWZpbmUtZGVyaXZlZC1tb2RlIGxhdGV4LW1vZGUgdGV4LW1vZGUg IkxhVGVYIgogICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBmaWxlcyBvZiBpbnB1dCBmb3Ig TGFUZVguCiBNYWtlcyAkIGFuZCB9IGRpc3BsYXkgdGhlIGNoYXJhY3RlcnMgdGhleSBtYXRj aC4KLU1ha2VzIFwiIGluc2VydCBgYCB3aGVuIGl0IHNlZW1zIHRvIGJlIHRoZSBiZWdpbm5p bmcgb2YgYSBxdW90YXRpb24sCitNYWtlcyBcIiBpbnNlcnQgXFw9YFxcPWAgd2hlbiBpdCBz ZWVtcyB0byBiZSB0aGUgYmVnaW5uaW5nIG9mIGEgcXVvdGF0aW9uLAogYW5kICcnIHdoZW4g aXQgYXBwZWFycyB0byBiZSB0aGUgZW5kOyBpdCBpbnNlcnRzIFwiIG9ubHkgYWZ0ZXIgYSBc XC4KIAogVXNlIFxcW3RleC1yZWdpb25dIHRvIHJ1biBMYVRlWCBvbiB0aGUgY3VycmVudCBy ZWdpb24sIHBsdXMgdGhlIHByZWFtYmxlCkBAIC0xMTYyLDcgKzExNjIsNyBAQCBzdWJzaGVs bCBpcyBpbml0aWF0ZWQsIGB0ZXgtc2hlbGwtaG9vaycgaXMgcnVuLiIKIChkZWZpbmUtZGVy aXZlZC1tb2RlIHNsaXRleC1tb2RlIGxhdGV4LW1vZGUgIlNsaVRlWCIKICAgIk1ham9yIG1v ZGUgZm9yIGVkaXRpbmcgZmlsZXMgb2YgaW5wdXQgZm9yIFNsaVRlWC4KIE1ha2VzICQgYW5k IH0gZGlzcGxheSB0aGUgY2hhcmFjdGVycyB0aGV5IG1hdGNoLgotTWFrZXMgXCIgaW5zZXJ0 IGBgIHdoZW4gaXQgc2VlbXMgdG8gYmUgdGhlIGJlZ2lubmluZyBvZiBhIHF1b3RhdGlvbiwK K01ha2VzIFwiIGluc2VydCBcXD1gXFw9YCB3aGVuIGl0IHNlZW1zIHRvIGJlIHRoZSBiZWdp bm5pbmcgb2YgYSBxdW90YXRpb24sCiBhbmQgJycgd2hlbiBpdCBhcHBlYXJzIHRvIGJlIHRo ZSBlbmQ7IGl0IGluc2VydHMgXCIgb25seSBhZnRlciBhIFxcLgogCiBVc2UgXFxbdGV4LXJl Z2lvbl0gdG8gcnVuIFNsaVRlWCBvbiB0aGUgY3VycmVudCByZWdpb24sIHBsdXMgdGhlIHBy ZWFtYmxlCkBAIC0xMjk2LDcgKzEyOTYsNyBAQCBFbnRlcmluZyBTbGlUZVggbW9kZSBydW5z IHRoZSBob29rIGB0ZXh0LW1vZGUtaG9vaycsIHRoZW4gdGhlIGhvb2sKIAogKGRlZnVuIHRl eC1pbnNlcnQtcXVvdGUgKGFyZykKICAgIkluc2VydCB0aGUgYXBwcm9wcmlhdGUgcXVvdGUg bWFya3MgZm9yIFRlWC4KLUluc2VydHMgdGhlIHZhbHVlIG9mIGB0ZXgtb3Blbi1xdW90ZScg KG5vcm1hbGx5IGBgKSBvciBgdGV4LWNsb3NlLXF1b3RlJworSW5zZXJ0cyB0aGUgdmFsdWUg b2YgYHRleC1vcGVuLXF1b3RlJyAobm9ybWFsbHkgXFw9YFxcPWApIG9yIGB0ZXgtY2xvc2Ut cXVvdGUnCiBcKG5vcm1hbGx5ICcnKSBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQuICBXaXRo IHByZWZpeCBhcmd1bWVudCwgYWx3YXlzCiBpbnNlcnRzIFwiIGNoYXJhY3RlcnMuIgogICAo aW50ZXJhY3RpdmUgIipQIikKZGlmZiAtLWdpdCBhL2xpc3AvdGV4dG1vZGVzL3RleGluZm10 LmVsIGIvbGlzcC90ZXh0bW9kZXMvdGV4aW5mbXQuZWwKaW5kZXggZTdiNjgzNS4uY2FiNGY3 NyAxMDA2NDQKLS0tIGEvbGlzcC90ZXh0bW9kZXMvdGV4aW5mbXQuZWwKKysrIGIvbGlzcC90 ZXh0bW9kZXMvdGV4aW5mbXQuZWwKQEAgLTEyODcsNyArMTI4Nyw3IEBAIExlYXZlIHBvaW50 IGFmdGVyIGFyZ3VtZW50LiIKIChwdXQgJ3VyZWYgJ3RleGluZm8tZm9ybWF0ICd0ZXhpbmZv LWZvcm1hdC11cmVmKQogKGRlZnVuIHRleGluZm8tZm9ybWF0LXVyZWYgKCkKICAgIkZvcm1h dCBVUkwgYW5kIG9wdGlvbmFsIFVSTC1USVRMRS4KLUluc2VydCBgIC4uLiAnIGFyb3VuZCBV UkwgaWYgbm8gVVJMLVRJVExFIGFyZ3VtZW50OworSW5zZXJ0IFxcPWAgLi4uICcgYXJvdW5k IFVSTCBpZiBubyBVUkwtVElUTEUgYXJndW1lbnQ7CiBvdGhlcndpc2UsIGluc2VydCBVUkwt VElUTEUgZm9sbG93ZWQgYnkgVVJMIGluIHBhcmVudGhlc2VzLiIKICAgKGxldCAoKGFyZ3Mg KHRleGluZm8tZm9ybWF0LXBhcnNlLWFyZ3MpKSkKICAgICAodGV4aW5mby1kaXNjYXJkLWNv bW1hbmQpCkBAIC0yNDQ3LDcgKzI0NDcsNyBAQCBVc2Ugb25seSB0aGUgRklMRU5BTUUgYXJn OyBmb3IgSW5mbywgaWdub3JlIHRoZSBvdGhlciBhcmd1bWVudHMgdG8gQGltYWdlLiIKIDs7 IG5vdCBsZWFkIHRvIGluc2VydGVkIGAgLi4uICcgaW4gYSB0YWJsZSwgYnV0IGRvZXMgZWxz ZXdoZXJlLgogKHB1dCAnb3B0aW9uICd0ZXhpbmZvLWZvcm1hdCAndGV4aW5mby1mb3JtYXQt b3B0aW9uKQogKGRlZnVuIHRleGluZm8tZm9ybWF0LW9wdGlvbiAoKQotICAiSW5zZXJ0IGAg Li4uICcgYXJvdW5kIGFyZyB1bmxlc3MgaW5zaWRlIGEgdGFibGU7IGluIHRoYXQgY2FzZSwg bm8gcXVvdGVzLiIKKyAgIkluc2VydCBcXD1gIC4uLiAnIGFyb3VuZCBhcmcgdW5sZXNzIGlu c2lkZSBhIHRhYmxlOyBpbiB0aGF0IGNhc2UsIG5vIHF1b3Rlcy4iCiAgIDs7IGBsb29raW5n LWF0LWJhY2t3YXJkJyBub3QgYXZhaWxhYmxlIGluIHYuIDE4LjU3LCAyMC4yCiAgIChpZiAo bm90IChzZWFyY2gtYmFja3dhcmQgIggiICAgIDsgc2VhcmNoZWQtZm9yIGNoYXJhY3RlciBp cyBhIGNvbnRyb2wtSAogICAgICAgICAgICAgICAgICAgICAobGluZS1iZWdpbm5pbmctcG9z aXRpb24pCkBAIC0yNDk0LDcgKzI0OTQsNyBAQCBFbmNsb3NlIHRoZSB2ZXJiYXRpbSB0ZXh0 LCBpbmNsdWRpbmcgdGhlIGRlbGltaXRlcnMsIGluIGJyYWNlcy4gIFByaW50CiB0ZXh0IGV4 YWN0bHkgYXMgd3JpdHRlbiAoYnV0IG5vdCB0aGUgZGVsaW1pdGVycykgaW4gYSBmaXhlZC13 aWR0aC4KIAogRm9yIGV4YW1wbGUsIEB2ZXJiXHt8QHxcfSByZXN1bHRzIGluIEAgYW5kCi1A dmVyYlx7K0AnZT9gIWArfSByZXN1bHRzIGluIEAnZT9gIWAuIgorQHZlcmJceytAJ2U/XFw9 YCFcXD1gK30gcmVzdWx0cyBpbiBAJ2U/XFw9YCFcXD1gLiIKIAogICAobGV0ICgoZGVsaW1p dGVyIChidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMKIAkJICAgICgxKyB0ZXhpbmZv LWNvbW1hbmQtZW5kKSAoKyAyIHRleGluZm8tY29tbWFuZC1lbmQpKSkpCmRpZmYgLS1naXQg YS9saXNwL3RleHRtb2Rlcy90ZXhpbmZvLmVsIGIvbGlzcC90ZXh0bW9kZXMvdGV4aW5mby5l bAppbmRleCA4OTVhZGJmLi42YjI4MjQ5IDEwMDY0NAotLS0gYS9saXNwL3RleHRtb2Rlcy90 ZXhpbmZvLmVsCisrKyBiL2xpc3AvdGV4dG1vZGVzL3RleGluZm8uZWwKQEAgLTY4OSw3ICs2 ODksNyBAQCBQdXRzIHBvaW50IG9uIGEgYmxhbmsgbGluZSBiZXR3ZWVuIHRoZW0uIgogICAn KCJleGFtcGxlXFw+IiAic21hbGxleGFtcGxlXFw+IiAibGlzcFxcPiIpKQogKGRlZnVuIHRl eGluZm8taW5zZXJ0LXF1b3RlICgmb3B0aW9uYWwgYXJnKQogICAiSW5zZXJ0IHRoZSBhcHBy b3ByaWF0ZSBxdW90ZSBtYXJrIGZvciBUZXhpbmZvLgotVXN1YWxseSBpbnNlcnRzIHRoZSB2 YWx1ZSBvZiBgdGV4aW5mby1vcGVuLXF1b3RlJyAobm9ybWFsbHkgYGApIG9yCitVc3VhbGx5 IGluc2VydHMgdGhlIHZhbHVlIG9mIGB0ZXhpbmZvLW9wZW4tcXVvdGUnIChub3JtYWxseSBc XD1gXFw9YCkgb3IKIGB0ZXhpbmZvLWNsb3NlLXF1b3RlJyAobm9ybWFsbHkgJycpLCBkZXBl bmRpbmcgb24gdGhlIGNvbnRleHQuCiBXaXRoIHByZWZpeCBhcmd1bWVudCBvciBpbnNpZGUg QGNvZGUgb3IgQGV4YW1wbGUsIGluc2VydHMgYSBwbGFpbiBcIi4iCiAgIChpbnRlcmFjdGl2 ZSAiKlAiKQotLSAKMi4xLjAKCg== --------------090309040807000200070508-- From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 May 2015 10:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143220247731028 (code B ref 20385); Thu, 21 May 2015 10:02:02 +0000 Received: (at 20385) by debbugs.gnu.org; 21 May 2015 10:01:17 +0000 Received: from localhost ([127.0.0.1]:51772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvNHv-00084N-T6 for submit@debbugs.gnu.org; Thu, 21 May 2015 06:01:16 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:38559) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvNHt-000844-71 for 20385@debbugs.gnu.org; Thu, 21 May 2015 06:01:13 -0400 Received: by wichy4 with SMTP id hy4so7897171wic.1 for <20385@debbugs.gnu.org>; Thu, 21 May 2015 03:01:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=VMxPoftBHCgw2oS1XywHqI7KXfxh9HxdsycgaG8sCEg=; b=hygd4W+rzf8ceAm/tPWOWr8e5gESwlyzjVsFphRRUtGGAJ9xhSxK62lXzI2vNneN/O 8o10cbzBhTGp3ACRFfSO11BUoXWWa5YNlpM2Kag3DZc3yvkhKIz9Zv/y9moNVKu+E8Sd 4okEoBDQ6PbJ+CH2v02RAd1kTE7N0lWhSPnVJcpoSgiwD+0mHjNyTKPCpsPlc/pxF7jJ VrPNKkd+5lQQspBESU9gFqrQ9TbWkQcJeQ1HVfgYSA1rU2lX/aMFFowDMtpfbeqMJBVH kNGHUn301MOCekGfvwYdFOB4J0dExADToxqd4dYERUMJALws9eLGEvQ+rAKTMwE9ANEa JD1Q== X-Received: by 10.194.192.166 with SMTP id hh6mr3662771wjc.127.1432202467328; Thu, 21 May 2015 03:01:07 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id hu1sm1805477wib.6.2015.05.21.03.01.06 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 May 2015 03:01:07 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> <5556FF7E.8070006@yandex.ru> <555BC6F6.8020305@cs.ucla.edu> <555BEFC8.3080307@yandex.ru> <555D8790.6030405@cs.ucla.edu> From: Dmitry Gutov Message-ID: <555DACE0.8020207@yandex.ru> Date: Thu, 21 May 2015 13:01:04 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <555D8790.6030405@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/21/2015 10:21 AM, Paul Eggert wrote: > And I found a > reasonably simple way to put it in, namely, to modify > substitute-command-keys so that it substitutes quotes as well, with a > simple rule that can be done in one pass with only auxiliary boolean flag. I'd make it a new function (the name doesn't fit), and pass the docstring contents through it, before giving them to substitute-command-keys. And if you write it in Lisp, you could incorporate the special handling of quasiquotes relatively easily. From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 May 2015 15:00:08 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.143222036831847 (code B ref 20385); Thu, 21 May 2015 15:00:08 +0000 Received: (at 20385) by debbugs.gnu.org; 21 May 2015 14:59:28 +0000 Received: from localhost ([127.0.0.1]:52282 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvRwR-0008HT-ND for submit@debbugs.gnu.org; Thu, 21 May 2015 10:59:28 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33173) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvRw8-0008Gb-GV for 20385@debbugs.gnu.org; Thu, 21 May 2015 10:59:09 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4BD86A60012; Thu, 21 May 2015 07:58:58 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7Ryq4XSWa8XN; Thu, 21 May 2015 07:58:57 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 4C7F5A60001; Thu, 21 May 2015 07:58:57 -0700 (PDT) Message-ID: <555DF2B1.1070609@cs.ucla.edu> Date: Thu, 21 May 2015 07:58:57 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> <5556FF7E.8070006@yandex.ru> <555BC6F6.8020305@cs.ucla.edu> <555BEFC8.3080307@yandex.ru> <555D8790.6030405@cs.ucla.edu> <555DACE0.8020207@yandex.ru> In-Reply-To: <555DACE0.8020207@yandex.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Dmitry Gutov wrote: > I'd make it a new function (the name doesn't fit), and pass the docstring > contents through it, before giving them to substitute-command-keys. I originally wrote it that way, but it was harder for me to read. (Also slower, though that doesn't matter these days.) I couldn't find anybody that would want to call one function but not the other. Plus, having them be separate functions introduces more opportunity for error, e.g., it wouldn't be correct to call the new function after calling substitute-command-keys. So I figured we might as well leave them combined. How about if we rename substitute-command-keys to describe it better? substitute-doc-string, perhaps? > And if you write it in Lisp, you could incorporate the special handling of > quasiquotes relatively easily. Yes, I originally wrote it in Lisp too, but found that it was too tempting to implement complicated heuristics that would have been a pain to document. (I even defended some of those heuristics in previous emails -- sorry!) Doing it in C forced me to come up with something really simple and easy to explain. I'd rather keep the simple rules now, even if we go back to Lisp (but why bother?). From unknown Tue Jun 24 17:28:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20385: [PATCH] Support curved quotes in doc strings Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 22 May 2015 03:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20385 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Paul Eggert , 20385@debbugs.gnu.org Received: via spool by 20385-submit@debbugs.gnu.org id=B20385.1432266072906 (code B ref 20385); Fri, 22 May 2015 03:42:02 +0000 Received: (at 20385) by debbugs.gnu.org; 22 May 2015 03:41:12 +0000 Received: from localhost ([127.0.0.1]:52480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yvdpf-0000EX-JO for submit@debbugs.gnu.org; Thu, 21 May 2015 23:41:11 -0400 Received: from mail-wi0-f169.google.com ([209.85.212.169]:37505) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yvdpc-0000E9-Tf for 20385@debbugs.gnu.org; Thu, 21 May 2015 23:41:10 -0400 Received: by wibt6 with SMTP id t6so33735997wib.0 for <20385@debbugs.gnu.org>; Thu, 21 May 2015 20:41:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=WZ9X7SmdZUUtMeNwq2lCxqoNDyzQylta5UWuf9zLYws=; b=uNRty2Ys03Ew+zxXoeizWKWkAZWUr4d5wPyz1y77aDnT6cp57t2AopaMcxNizh483k 5uVFS261czL3FosJENlnkuPL21HMI6NKt38eMaDG//u7N+tMOPMLXLWTKHoPunlPf6VX o5KienB8qBtpWiwMjrrW05+tYhcYBrXL79rhG/Og9t7V1bYZ+Co44F2tkaq3CqDkqF00 yHoPjjnn34bm8IhezirM1MHORWHdI/7u8kAqMe06H2HAzxXQkcMDC7gq/E8xsES8mHy+ lZFvukoyrzQKcm0W0/com1rGehowXbsObJdRkasxBhTIPp+e+f0jifCzFDnTqkNDM2nl jrRA== X-Received: by 10.181.13.165 with SMTP id ez5mr3199368wid.77.1432266063169; Thu, 21 May 2015 20:41:03 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id gj7sm5705535wib.4.2015.05.21.20.41.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 May 2015 20:41:02 -0700 (PDT) References: <1429555155-4695-1-git-send-email-eggert@cs.ucla.edu> <5552FDAC.4080004@cs.ucla.edu> <55534080.6010400@yandex.ru> <555369FD.30701@cs.ucla.edu> <5553D12F.7000809@yandex.ru> <5554155E.70000@cs.ucla.edu> <55547DC6.3090509@yandex.ru> <5555A4ED.8090500@cs.ucla.edu> <55562BB0.2010605@yandex.ru> <555640E9.4060203@cs.ucla.edu> <55564460.4020208@yandex.ru> <55566196.40105@cs.ucla.edu> <55566990.8020506@yandex.ru> <555686B7.60808@cs.ucla.edu> <55568B3E.5040704@yandex.ru> <5556A205.3040503@cs.ucla.edu> <5556FF7E.8070006@yandex.ru> <555BC6F6.8020305@cs.ucla.edu> <555BEFC8.3080307@yandex.ru> <555D8790.6030405@cs.ucla.edu> <555DACE0.8020207@yandex.ru> <555DF2B1.1070609@cs.ucla.edu> From: Dmitry Gutov Message-ID: <555EA54D.8080307@yandex.ru> Date: Fri, 22 May 2015 06:41:01 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <555DF2B1.1070609@cs.ucla.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/21/2015 05:58 PM, Paul Eggert wrote: > I originally wrote it that way, but it was harder for me to read. Two functions each doing less work is harder to read than one? > (Also slower, though that doesn't matter these days.) Still matters, but for larger inputs. Calling the quote substitution function before the keymaps-and-keys one should be fast enough, though. > How about if we rename substitute-command-keys to describe it better? > substitute-doc-string, perhaps? format-doc-string? Anyway, a rename with an obsolete-alias should work, too. > Yes, I originally wrote it in Lisp too, but found that it was too > tempting to implement complicated heuristics that would have been a pain > to document. It's up to you. I think the handling of quasiquotes isn't hard to explain in writing, but in the end those snippets of code would be better surrounded with quotes after rendering, and then the quasiquote would simply need to be escaped. > I'd rather keep the simple rules > now, even if we go back to Lisp (but why bother?). Having an Elisp implementation might be helpful if we want to apply a similar transformation via font-lock rules in the source buffers (I believe you expressed that interest). There will be some difference due to escaping, but some part might be reusable. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 15:15:14 2015 Received: (at control) by debbugs.gnu.org; 30 May 2015 19:15:14 +0000 Received: from localhost ([127.0.0.1]:33737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YymDx-0003JQ-Oe for submit@debbugs.gnu.org; Sat, 30 May 2015 15:15:14 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:52309) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YymDu-0003JB-0H for control@debbugs.gnu.org; Sat, 30 May 2015 15:15:12 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9469C39E801D for ; Sat, 30 May 2015 12:15:03 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qvU24C-3opn3 for ; Sat, 30 May 2015 12:15:03 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 3753439E801B for ; Sat, 30 May 2015 12:15:03 -0700 (PDT) Message-ID: <556A0C36.9050808@cs.ucla.edu> Date: Sat, 30 May 2015 12:15:02 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: control@debbugs.gnu.org Subject: these changes are installed Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) close 20385 close 20545