* feature request: public API to get new flymake's errors/warnings @ 2017-10-16 16:41 Yuta Yamada 2017-10-16 18:23 ` João Távora 0 siblings, 1 reply; 10+ messages in thread From: Yuta Yamada @ 2017-10-16 16:41 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 819 bytes --] Hello Emacs devel. First of all, thank you to rewritten of flymake! I'm an emacs' package maintainer of flycheck-tip and flycheck-nimsuggest (nim language's flycheck backend) and I could convert to flycheck-nimsuggest.el for flymake very easy. But, as for flycheck-tip (which show flycheck/flymake's errors and warning on a tooltip), or other flymake related packages, could you support public API to get errors and warnings object? (I mean a public function for it) I think I can implement and extract data if I steal some stuff from `flymake--diagnostics-buffer-entries', but having public API is better because I don't feel the fear of devel's change. just FYI I was using following flymake functions to get the data: --- (flymake-find-err-info flymake-err-info (line-number-at-pos)) --- Regards, Yuta Yamada [-- Attachment #2: Type: text/html, Size: 1086 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-16 16:41 feature request: public API to get new flymake's errors/warnings Yuta Yamada @ 2017-10-16 18:23 ` João Távora 2017-10-17 14:32 ` Yuta Yamada 0 siblings, 1 reply; 10+ messages in thread From: João Távora @ 2017-10-16 18:23 UTC (permalink / raw) To: Yuta Yamada; +Cc: emacs-devel Yuta Yamada <sleepboy.zzz@gmail.com> writes: > Hello Emacs devel. > > First of all, thank you to rewritten of flymake! > > I'm an emacs' package maintainer of flycheck-tip and > flycheck-nimsuggest (nim language's flycheck backend) and I could > convert to flycheck-nimsuggest.el for flymake very easy. > > But, as for flycheck-tip (which show flycheck/flymake's errors and > warning on a tooltip), or other flymake related packages, could you > support public API to get errors and warnings object? (I mean a public > function for it) > I see. I think you could try to write it with the internal functions that I mention in the rest of this message and then we can more easily see which parts are currently "internal" that could be "external": 1) Most important you need an easy way to get the the "diagnostic" object at point. This is held by the overlays within their 'flymake--diagnostic' property. 2) You'll probably need accessors for the flymake--diag object (text, type, issuing backend function). I think this is a question of renameing the existing flymake--diag-text, flymake--diag-type, flymake--diag-backend. 3) Perhaps a way to get all the diagnostics in a region. There is flymake--overlays for this. 4) Maybe check the properties (severity) of a given type? This is currently done via flymake--lookup-type-property. My only doubt is if 1 and 3 should work through the overlays API (flymake--overlays and overlay-get for discrimination) i.e. If so the API is smaller, but ties Flymake to an overlay overlay-based implementation. Otherwise we can make flymake-diagnostics-at-point etc... > because I don't feel the fear of devel's change. :-) João ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-16 18:23 ` João Távora @ 2017-10-17 14:32 ` Yuta Yamada 2017-10-19 11:36 ` João Távora 0 siblings, 1 reply; 10+ messages in thread From: Yuta Yamada @ 2017-10-17 14:32 UTC (permalink / raw) To: João Távora; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 3665 bytes --] > > I see. I think you could try to write it with the internal functions > that I mention in the rest of this message and then we can more easily > see which parts are currently "internal" that could be "external": > > 1) Most important you need an easy way to get the the "diagnostic" > object at point. This is held by the overlays within their > 'flymake--diagnostic' property. > > 2) You'll probably need accessors for the flymake--diag object (text, > type, issuing backend function). I think this is a question of renameing > the existing flymake--diag-text, flymake--diag-type, > flymake--diag-backend. > > 3) Perhaps a way to get all the diagnostics in a region. There is > flymake--overlays for this. > > 4) Maybe check the properties (severity) of a given type? This is > currently done via flymake--lookup-type-property. > Thank you for your helpful comment. I've made a function (just for my flymake-tip package) using your comment. --- code: (defun flymake-tip-get-diag-text-on-line () "Return list of string of error/warning info on the current line." (cl-loop for ov in (flymake--overlays :beg (point-at-bol) :end (point-at-eol)) collect (flymake--diag-text (overlay-get ov 'flymake--diagnostic)))) --- As you can see, I used 1 (flymake--overlays), 2 (flymake--diag-text), 3 (flymake--diagnostic). So, I hope those functions/symbol become public API. (i mean "-" instead of "--") Also, after implementing my stuff, I popped up a question: is there public API to check whether error/warning exists on the buffer? The reason is I would make a command like flymake-next-error, but if there is no error I would invoke other things. (maybe using flymake--overlays to check?) Thanks, Yuta Yamada On Mon, Oct 16, 2017 at 11:23 AM, João Távora <joaotavora@gmail.com> wrote: > Yuta Yamada <sleepboy.zzz@gmail.com> writes: > > > Hello Emacs devel. > > > > First of all, thank you to rewritten of flymake! > > > > I'm an emacs' package maintainer of flycheck-tip and > > flycheck-nimsuggest (nim language's flycheck backend) and I could > > convert to flycheck-nimsuggest.el for flymake very easy. > > > > But, as for flycheck-tip (which show flycheck/flymake's errors and > > warning on a tooltip), or other flymake related packages, could you > > support public API to get errors and warnings object? (I mean a public > > function for it) > > > I see. I think you could try to write it with the internal functions > that I mention in the rest of this message and then we can more easily > see which parts are currently "internal" that could be "external": > > 1) Most important you need an easy way to get the the "diagnostic" > object at point. This is held by the overlays within their > 'flymake--diagnostic' property. > > 2) You'll probably need accessors for the flymake--diag object (text, > type, issuing backend function). I think this is a question of renameing > the existing flymake--diag-text, flymake--diag-type, > flymake--diag-backend. > > 3) Perhaps a way to get all the diagnostics in a region. There is > flymake--overlays for this. > > 4) Maybe check the properties (severity) of a given type? This is > currently done via flymake--lookup-type-property. > > My only doubt is if 1 and 3 should work through the overlays API > (flymake--overlays and overlay-get for discrimination) i.e. If so the > API is smaller, but ties Flymake to an overlay overlay-based > implementation. Otherwise we can make flymake-diagnostics-at-point > etc... > > > because I don't feel the fear of devel's change. > > :-) > > João > [-- Attachment #2: Type: text/html, Size: 4798 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-17 14:32 ` Yuta Yamada @ 2017-10-19 11:36 ` João Távora 2017-10-19 12:31 ` Yuta Yamada 2017-10-20 6:53 ` Eli Zaretskii 0 siblings, 2 replies; 10+ messages in thread From: João Távora @ 2017-10-19 11:36 UTC (permalink / raw) To: Yuta Yamada; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1039 bytes --] Yuta Yamada <sleepboy.zzz@gmail.com> writes: > --- code: > (defun flymake-tip-get-diag-text-on-line () > "Return list of string of error/warning info on the current line." > (cl-loop for ov in (flymake--overlays :beg (point-at-bol) :end (point-at-eol)) > collect (flymake--diag-text (overlay-get ov 'flymake--diagnostic)))) > --- > > As you can see, I used 1 (flymake--overlays), 2 (flymake--diag-text), 3 (flymake--diagnostic). > So, I hope those functions/symbol become public API. (i mean "-" > instead of "--") Thanks, The attached patch augments the API for these purposes (and describes it in the manual). You should be able to just do: (defun flymake-tip-get-diag-text-on-line () "Return list of string of error/warning info on the current line." (cl-loop for diag in (flymake-diagnostics (point-at-bol) (point-at-eol)) collect (flymake-diagnostic-text diag))) If noone objects I shall push the patch to emacs-26 in a couple of days time. João [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Augment-Flymake-API-for-third-party-extensions.patch --] [-- Type: text/x-diff, Size: 10673 bytes --] From 46366c45cb1cef5c0cc88bb9a868df88f4ed5c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= <joaotavora@gmail.com> Date: Thu, 19 Oct 2017 12:33:20 +0100 Subject: [PATCH] Augment Flymake API for third-party extensions See https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html * doc/misc/flymake.texi (Flymake error types): Rewrite example. (Flymake utility functions): Augment with new API. * lisp/progmodes/flymake.el (flymake-diagnostics): New function. (flymake--diag-accessor): New helper macro. (flymake-diagnostic-buffer, flymake-diagnostic-text) (flymake-diagnostic-beg, flymake-diagnostic-end) (flymake-diagnostic-backend): Accessors for diagnostic objects. (flymake--overlays): Use flymake-diagnostic property. (flymake--highlight-line): Simplify. Only set flymake-diagnostic property. (flymake--handle-report, flymake-goto-next-error): Use flymake-diagnostic property. (flymake-show-diagnostic): Use diagnostic object. (flymake--diagnostics-buffer-entries): Use flymake-diagnostics. --- doc/misc/flymake.texi | 61 +++++++++++++++++++++++++++++++---------------- lisp/progmodes/flymake.el | 56 ++++++++++++++++++++++++++++--------------- 2 files changed, 78 insertions(+), 39 deletions(-) diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 99ab1271ac..6e0928f0ee 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -361,34 +361,38 @@ Flymake error types (flymake-category . flymake-note)))) @end example -@vindex flymake-text +@vindex flymake-diagnostics +@vindex flymake-diagnostic-backend +@vindex flymake-diagnostic-buffer +@vindex flymake-diagnostic-text +@vindex flymake-diagnostic-beg +@vindex flymake-diagnostic-end As you might have guessed, Flymake's annotations are implemented as overlays (@pxref{Overlays,,, elisp, The Emacs Lisp Reference Manual}). Along with the properties that you specify for the specific type of -diagnostic, Flymake adds the property @code{flymake-text} to these -overlays, and sets it to the message string that the backend used to -describe the diagnostic. +diagnostic, Flymake adds the property @code{flymake-diagnostic} to +these overlays, and sets it to the object that the backend created +with @code{flymake-make-diagnostic}. -Since overlays also support arbitrary keymaps, you can use this -property @code{flymake-text} to create interactive annotations, such -as in the following example of binding a @kbd{mouse-3} event (middle -mouse button click) to an Internet search for the text of a -@code{:warning} or @code{:error}. +Since overlays also support arbitrary keymaps, you can this along with +the functions @code{flymake-diagnostics} and +@code{flymake-diagnostic-text} (@pxref{Flymake utility functions}) to +create interactive annotations, such as in the following example of +binding a @kbd{mouse-3} event (middle mouse button click) to an +Internet search for the text of a @code{:warning} or @code{:error}. @example (defun my-search-for-message (event) (interactive "e") - (let ((ovs (overlays-at (posn-point (event-start event)))) - ov) - ;; loop until flymake overlay we clicked on is recovered - (while (not (overlay-get (setq ov (pop ovs)) 'flymake-text))) - (when ov - (eww-browse-url - (concat "https://duckduckgo.com/?q=" - (replace-regexp-in-string " " - "+" - (overlay-get ov 'flymake-text))) - t)))) + (let* ((diags (flymake-diagnostics (posn-point (event-start event)))) + (topmost-diag (car diags))) + (eww-browse-url + (concat + "https://duckduckgo.com/?q=" + (replace-regexp-in-string " " + "+" + (flymake-diagnostic-text topmost-diag))) + t))) (dolist (type '(:warning :error)) (let ((a (assoc type flymake-diagnostic-types-alist))) @@ -513,6 +517,23 @@ Flymake utility functions of the problem detected in this region. @end deffn +@cindex access diagnostic object +These objects' properties can be accessed with the functions +@code{flymake-diagnostic-backend}, @code{flymake-diagnostic-buffer}, +@code{flymake-diagnostic-text}, @code{flymake-diagnostic-beg}, +@code{flymake-diagnostic-end} and @code{flymake-diagnostic-type}. + +Additionally, the function @code{flymake-diagnostics} will collect +such objects in the region you specify. + +@cindex collect diagnostic objects +@deffn Function flymake-diagnostics beg end +Get a list of Flymake diagnostics in the region comprised between +@var{beg} and @var{end}. If neither @var{beg} or @var{end} is +supplied, use the whole buffer, otherwise if @var{beg} is non-nil and +@var{end} is nil, consider only diagnostics at @var{beg}. +@end deffn + @cindex buffer position from line and column number It is often the case with external syntax tools that a diagnostic's position is reported in terms of a line number, and sometimes a column diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 5d5f9bb75d..fc5e3b80ef 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -228,6 +228,29 @@ flymake-make-diagnostic description of the problem detected in this region." (flymake--diag-make :buffer buffer :beg beg :end end :type type :text text)) +;;;###autoload +(defun flymake-diagnostics (&optional beg end) + "Get Flymake diagnostics in region comprised between BEG and END. + +If neither BEG or END is supplied, use the whole buffer, +otherwise if BEG is non-nil and END is nil, consider only +diagnostics at BEG." + (mapcar (lambda (ov) (overlay-get ov 'flymake-diagnostic)) + (flymake--overlays :beg beg :end end))) + +(defmacro flymake--diag-accessor (public internal thing) + "Make PUBLIC an alias for INTERNAL, add doc using THING." + `(defsubst ,public (diag) + ,(format "Get Flymake diagnostic DIAG's %s." (symbol-name thing)) + (,internal diag))) + +(flymake--diag-accessor flymake-diagnostic-buffer flymake--diag-buffer buffer) +(flymake--diag-accessor flymake-diagnostic-text flymake--diag-text text) +(flymake--diag-accessor flymake-diagnostic-type flymake--diag-type type) +(flymake--diag-accessor flymake-diagnostic-beg flymake--diag-beg beg) +(flymake--diag-accessor flymake-diagnostic-end flymake--diag-end end) +(flymake--diag-accessor flymake-diagnostic-backend flymake--diag-backend backend) + (cl-defun flymake--overlays (&key beg end filter compare key) "Get flymake-related overlays. If BEG is non-nil and END is nil, consider only `overlays-at' @@ -238,7 +261,7 @@ flymake-make-diagnostic (widen) (let ((ovs (cl-remove-if-not (lambda (ov) - (and (overlay-get ov 'flymake) + (and (overlay-get ov 'flymake-diagnostic) (or (not filter) (funcall filter ov)))) (if (and beg (null end)) @@ -498,18 +521,15 @@ flymake--highlight-line (default-maybe 'help-echo (lambda (_window _ov pos) (mapconcat - (lambda (ov) - (overlay-get ov 'flymake-text)) - (flymake--overlays :beg pos) + #'flymake--diag-text + (flymake-diagnostics pos) "\n"))) (default-maybe 'severity (warning-numeric-level :error)) (default-maybe 'priority (+ 100 (overlay-get ov 'severity)))) ;; Some properties can't be overridden. ;; (overlay-put ov 'evaporate t) - (overlay-put ov 'flymake t) - (overlay-put ov 'flymake-text (flymake--diag-text diagnostic)) - (overlay-put ov 'flymake--diagnostic diagnostic))) + (overlay-put ov 'flymake-diagnostic diagnostic))) ;; Nothing in Flymake uses this at all any more, so this is just for ;; third-party compatibility. @@ -600,7 +620,7 @@ flymake-is-running (lambda (ov) (eq backend (flymake--diag-backend - (overlay-get ov 'flymake--diagnostic)))))) + (overlay-get ov 'flymake-diagnostic)))))) (mapc (lambda (diag) (flymake--highlight-line diag) (setf (flymake--diag-backend diag) backend)) @@ -899,7 +919,7 @@ flymake-goto-next-error (lambda (ov) (let ((diag (overlay-get ov - 'flymake--diagnostic))) + 'flymake-diagnostic))) (and diag (or (not filter) (memq (flymake--diag-type diag) @@ -1089,13 +1109,13 @@ flymake-show-diagnostic (interactive (list (point) t)) (let* ((id (or (tabulated-list-get-id pos) (user-error "Nothing at point"))) - (overlay (plist-get id :overlay))) - (with-current-buffer (overlay-buffer overlay) + (diag (plist-get id :diagnostic))) + (with-current-buffer (flymake--diag-buffer diag) (with-selected-window (display-buffer (current-buffer) other-window) - (goto-char (overlay-start overlay)) - (pulse-momentary-highlight-region (overlay-start overlay) - (overlay-end overlay) + (goto-char (flymake--diag-beg diag)) + (pulse-momentary-highlight-region (flymake--diag-beg diag) + (flymake--diag-end diag) 'highlight)) (current-buffer)))) @@ -1108,18 +1128,16 @@ flymake-goto-diagnostic (defun flymake--diagnostics-buffer-entries () (with-current-buffer flymake--diagnostics-buffer-source - (cl-loop for ov in (flymake--overlays) - for diag = (overlay-get ov - 'flymake--diagnostic) + (cl-loop for diag in (flymake-diagnostics) for (line . col) = (save-excursion - (goto-char (overlay-start ov)) + (goto-char (flymake--diag-beg diag)) (cons (line-number-at-pos) (- (point) (line-beginning-position)))) for type = (flymake--diag-type diag) collect - (list (list :overlay ov + (list (list :diagnostic diag :line line :severity (flymake--lookup-type-property type -- 2.14.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-19 11:36 ` João Távora @ 2017-10-19 12:31 ` Yuta Yamada 2017-10-20 6:53 ` Eli Zaretskii 1 sibling, 0 replies; 10+ messages in thread From: Yuta Yamada @ 2017-10-19 12:31 UTC (permalink / raw) To: João Távora; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1709 bytes --] > > You should be able to just do: > > (defun flymake-tip-get-diag-text-on-line () > "Return list of string of error/warning info on the current line." > (cl-loop for diag in (flymake-diagnostics (point-at-bol) > (point-at-eol)) > collect (flymake-diagnostic-text diag))) > > If noone objects I shall push the patch to emacs-26 in a couple of days > time. > Thanks Joao, there is no objection from me. I'll try `flymake-diagnostic-XXX' stuff after you pushed. Yuta Yamada On Thu, Oct 19, 2017 at 4:36 AM, João Távora <joaotavora@gmail.com> wrote: > Yuta Yamada <sleepboy.zzz@gmail.com> writes: > > > --- code: > > (defun flymake-tip-get-diag-text-on-line () > > "Return list of string of error/warning info on the current line." > > (cl-loop for ov in (flymake--overlays :beg (point-at-bol) :end > (point-at-eol)) > > collect (flymake--diag-text (overlay-get ov > 'flymake--diagnostic)))) > > --- > > > > As you can see, I used 1 (flymake--overlays), 2 (flymake--diag-text), 3 > (flymake--diagnostic). > > So, I hope those functions/symbol become public API. (i mean "-" > > instead of "--") > > Thanks, > > The attached patch augments the API for these purposes (and describes it > in the manual). > > You should be able to just do: > > (defun flymake-tip-get-diag-text-on-line () > "Return list of string of error/warning info on the current line." > (cl-loop for diag in (flymake-diagnostics (point-at-bol) > (point-at-eol)) > collect (flymake-diagnostic-text diag))) > > If noone objects I shall push the patch to emacs-26 in a couple of days > time. > > João > > [-- Attachment #2: Type: text/html, Size: 2580 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-19 11:36 ` João Távora 2017-10-19 12:31 ` Yuta Yamada @ 2017-10-20 6:53 ` Eli Zaretskii 2017-10-20 9:10 ` João Távora 2017-10-20 12:47 ` Stefan Monnier 1 sibling, 2 replies; 10+ messages in thread From: Eli Zaretskii @ 2017-10-20 6:53 UTC (permalink / raw) To: João Távora; +Cc: sleepboy.zzz, emacs-devel > From: joaotavora@gmail.com (João Távora) > Date: Thu, 19 Oct 2017 12:36:05 +0100 > Cc: emacs-devel@gnu.org > > The attached patch augments the API for these purposes (and describes it > in the manual). A few comments to the documentation: > -Since overlays also support arbitrary keymaps, you can use this > -property @code{flymake-text} to create interactive annotations, such > -as in the following example of binding a @kbd{mouse-3} event (middle > -mouse button click) to an Internet search for the text of a > -@code{:warning} or @code{:error}. > +Since overlays also support arbitrary keymaps, you can this along with ^^^^^^^^^^^^ The "use" part is missing. > +the functions @code{flymake-diagnostics} and > +@code{flymake-diagnostic-text} (@pxref{Flymake utility functions}) to > +create interactive annotations, such as in the following example of > +binding a @kbd{mouse-3} event (middle mouse button click) to an ^^^^^^^^^^^^^ Since you are talking about an event, not something that the user does, @code is a better markup here. > +@deffn Function flymake-diagnostics beg end > +Get a list of Flymake diagnostics in the region comprised between > +@var{beg} and @var{end}. If neither @var{beg} or @var{end} is I'd say "in the region determined by @var{beg} and @var{end}". I think it's both more correct English and avoids misinterpretation of what exactly "between" means (is in exclusive or inclusive?). > +supplied, use the whole buffer, otherwise if @var{beg} is non-nil and > +@var{end} is nil, consider only diagnostics at @var{beg}. "nil" should have the @code markup (2 counts). > +(defun flymake-diagnostics (&optional beg end) > + "Get Flymake diagnostics in region comprised between BEG and END. Same comment here about the "comprised between" part. Thanks. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-20 6:53 ` Eli Zaretskii @ 2017-10-20 9:10 ` João Távora 2017-10-20 12:47 ` Stefan Monnier 1 sibling, 0 replies; 10+ messages in thread From: João Távora @ 2017-10-20 9:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: sleepboy.zzz, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> The attached patch augments the API for these purposes (and describes it >> in the manual). > > A few comments to the documentation: Thanks. All fixed, and pushed. João ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-20 6:53 ` Eli Zaretskii 2017-10-20 9:10 ` João Távora @ 2017-10-20 12:47 ` Stefan Monnier 2017-10-20 13:40 ` Yuri Khan 2017-10-20 13:49 ` João Távora 1 sibling, 2 replies; 10+ messages in thread From: Stefan Monnier @ 2017-10-20 12:47 UTC (permalink / raw) To: emacs-devel >> +Since overlays also support arbitrary keymaps, you can this along with > ^^^^^^^^^^^^ > The "use" part is missing. Maybe we should just lobby for the new verb "to this", as in "boy, he really thissed it hard!" >> +(defun flymake-diagnostics (&optional beg end) >> + "Get Flymake diagnostics in region comprised between BEG and END. > Same comment here about the "comprised between" part. I don't have an opinion on what's the best phrasing for that in the Texinfo doc, but in the docstrings, we traditionally just say Get flymake diagnostics in region BEG..END -- Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-20 12:47 ` Stefan Monnier @ 2017-10-20 13:40 ` Yuri Khan 2017-10-20 13:49 ` João Távora 1 sibling, 0 replies; 10+ messages in thread From: Yuri Khan @ 2017-10-20 13:40 UTC (permalink / raw) To: Stefan Monnier; +Cc: Emacs developers On Fri, Oct 20, 2017 at 7:47 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >>> +Since overlays also support arbitrary keymaps, you can this along with >> ^^^^^^^^^^^^ >> The "use" part is missing. > > Maybe we should just lobby for the new verb "to this", as in "boy, he > really thissed it hard!" Hey, if it’s a verb, it’s probably an irregular one. Maybe this/thus/thus. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: feature request: public API to get new flymake's errors/warnings 2017-10-20 12:47 ` Stefan Monnier 2017-10-20 13:40 ` Yuri Khan @ 2017-10-20 13:49 ` João Távora 1 sibling, 0 replies; 10+ messages in thread From: João Távora @ 2017-10-20 13:49 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >>> +Since overlays also support arbitrary keymaps, you can this along with >> ^^^^^^^^^^^^ >> The "use" part is missing. > > Maybe we should just lobby for the new verb "to this", as in "boy, he > really thissed it hard!" I admit to being easily thistracted... > Texinfo doc, but in the docstrings, we traditionally just say > > Get flymake diagnostics in region BEG..END If it helps, BEG non-nil and END nil are a special case here, so maybe that justifies the non-standard "determined by BEG and END" phrasing. Feel free to change though. João ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-10-20 13:49 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-10-16 16:41 feature request: public API to get new flymake's errors/warnings Yuta Yamada 2017-10-16 18:23 ` João Távora 2017-10-17 14:32 ` Yuta Yamada 2017-10-19 11:36 ` João Távora 2017-10-19 12:31 ` Yuta Yamada 2017-10-20 6:53 ` Eli Zaretskii 2017-10-20 9:10 ` João Távora 2017-10-20 12:47 ` Stefan Monnier 2017-10-20 13:40 ` Yuri Khan 2017-10-20 13:49 ` João Távora
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).