* No answer on bugs @ 2010-06-29 12:43 Thierry Volpiatto 2010-06-29 13:12 ` Lennart Borgman ` (2 more replies) 0 siblings, 3 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-06-29 12:43 UTC (permalink / raw) To: emacs-devel Hi, Here state of some bugs i sent: - bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer No one answer, not fixed. - 24.0.50; bookmark don't jump to annotation buffer No one answer, Not fixed.(fixed in bookmark-extensions.el) - 24.0.50; C-d in ielm doesn't work as expected. No answer since long time, abandoned? - Re: bug#6302: 24.0.50; Unable to use su in term. No answer since long time, abandoned? - 24.0.50; Feature request:winner-boring-buffer-regexp No one answer, not fixed. - Re: anything.el inclusion No answer since long time, abandoned? - 23.1.92; info-lookup-symbol doesn't show CL package documentation. No answer since (very) long time, abandoned? (not fixed) - Redefine `insert-directory' to showup size available when -h arg of ls used. No one answer, not fixed. -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 12:43 No answer on bugs Thierry Volpiatto @ 2010-06-29 13:12 ` Lennart Borgman 2010-06-29 13:54 ` Karl Fogel 2010-06-30 18:16 ` No answer on bugs Ted Zlatanov 2 siblings, 0 replies; 78+ messages in thread From: Lennart Borgman @ 2010-06-29 13:12 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: emacs-devel On Tue, Jun 29, 2010 at 2:43 PM, Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: > > - 23.1.92; info-lookup-symbol doesn't show CL package documentation. > > No answer since (very) long time, abandoned? (not fixed) I sent a fix for this long ago to the devel list and I think I still have it in my patched version of Emas+EmacsW32 (if not some merge has erased it). ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 12:43 No answer on bugs Thierry Volpiatto 2010-06-29 13:12 ` Lennart Borgman @ 2010-06-29 13:54 ` Karl Fogel 2010-06-29 14:14 ` Thierry Volpiatto 2010-06-29 19:26 ` Tassilo Horn 2010-06-30 18:16 ` No answer on bugs Ted Zlatanov 2 siblings, 2 replies; 78+ messages in thread From: Karl Fogel @ 2010-06-29 13:54 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >- bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article > buffer > >No one answer, not fixed. I'll take a look at this. It would be great if there were some way to subscribe to get emails for bug reports that match a certain regexp. I'd do that for "bookmark". (I suppose I could just subscribe to all bugs and then arrange the appropriate client-side filtering, but life is short.) >- 24.0.50; bookmark don't jump to annotation buffer > >No one answer, Not fixed.(fixed in bookmark-extensions.el) I'll take a look at this too. -Karl ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 13:54 ` Karl Fogel @ 2010-06-29 14:14 ` Thierry Volpiatto 2010-06-29 19:26 ` Tassilo Horn 1 sibling, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-06-29 14:14 UTC (permalink / raw) To: Karl Fogel; +Cc: emacs-devel Hi Karl, thanks for answer. Karl Fogel <kfogel@red-bean.com> writes: > Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >>- bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article >> buffer >> >>No one answer, not fixed. > > I'll take a look at this. This affect also some gnus files (gnus-sum.el, gnus-article.el). I use this in bookmark-extensions.el since some months now with success. http://mercurial.intuxication.org/hg/emacs-bookmark-extension > It would be great if there were some way to subscribe to get emails for > bug reports that match a certain regexp. I'd do that for "bookmark". > (I suppose I could just subscribe to all bugs and then arrange the > appropriate client-side filtering, but life is short.) Yes it would be great, don't know how to do that unfortunately. >>- 24.0.50; bookmark don't jump to annotation buffer >> >>No one answer, Not fixed.(fixed in bookmark-extensions.el) > > I'll take a look at this too. Thanks, this is trivial change is i remember well. > -Karl > -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 13:54 ` Karl Fogel 2010-06-29 14:14 ` Thierry Volpiatto @ 2010-06-29 19:26 ` Tassilo Horn 2010-06-29 19:57 ` Thierry Volpiatto 1 sibling, 1 reply; 78+ messages in thread From: Tassilo Horn @ 2010-06-29 19:26 UTC (permalink / raw) To: emacs-devel, Karl Fogel; +Cc: Thierry Volpiatto On Tuesday 29 June 2010 15:54:53 Karl Fogel wrote: Hi! > Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > >- bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article > > buffer > > > >No one answer, not fixed. > > I'll take a look at this. Karl, you might want to have a look at org-gnus.el, which provides linking support to gnus articles and groups for org-mode. Maybe you can either borrow some code from me or even better, use those few functions. Bye, Tassilo ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 19:26 ` Tassilo Horn @ 2010-06-29 19:57 ` Thierry Volpiatto 2010-06-29 20:10 ` Tassilo Horn 0 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-06-29 19:57 UTC (permalink / raw) To: Tassilo Horn; +Cc: Karl Fogel, emacs-devel [-- Attachment #1: Type: text/plain, Size: 934 bytes --] Tassilo Horn <tassilo@member.fsf.org> writes: > On Tuesday 29 June 2010 15:54:53 Karl Fogel wrote: > > Hi! > >> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >> >- bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article >> > buffer >> > >> >No one answer, not fixed. >> >> I'll take a look at this. > > Karl, you might want to have a look at org-gnus.el, which provides > linking support to gnus articles and groups for org-mode. Maybe you can > either borrow some code from me or even better, use those few functions. FYI bookmarking from gnus(summary) is now provided in Emacs(24). What is missing is bookmarking from gnus-article buffer. The patch i propose apply on my precedent work. If you want to reuse org code, you will have much more work to enable it for bookmark (rewrite all), as the things are differents. I attach here my patch again. -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: patch-109087.patch --] [-- Type: text/x-patch, Size: 6253 bytes --] # HG changeset patch # User Thierry Volpiatto <thierry.volpiatto@gmail.com> # Date 1277840529 -7200 # Node ID dc2c984058cf101132a55fcf22bf85e173f6482e # Parent 20190537be1cd79ad83375df1f70ff0ec3dc60fd Allow to bookmark a mail from a Gnus article buffer and retrieve position. * lisp/bookmark.el (bookmark-make-record-default) Avoid recording *-context-string when not needed. * lisp/gnus/gnus-art.el set `bookmark-make-record-function' local. * lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record) allow recording from article buffer. (gnus-summary-bookmark-jump) maybe jump to article buffer. diff --git a/lisp/bookmark.el b/lisp/bookmark.el --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -528,26 +528,30 @@ (setq bookmark-current-bookmark stripped-name) (bookmark-bmenu-surreptitiously-rebuild-list))) -(defun bookmark-make-record-default (&optional point-only) +(defun bookmark-make-record-default (&optional point-only pos read-only) "Return the record describing the location of a new bookmark. Must be at the correct position in the buffer in which the bookmark is being set. If POINT-ONLY is non-nil, then only return the subset of the -record that pertains to the location within the buffer." +record that pertains to the location within the buffer. +If READ-ONLY is non-nil that's mean buffer is read-only and +there is no need to record front/rear-context-string, position is enough." `(,@(unless point-only `((filename . ,(bookmark-buffer-file-name)))) - (front-context-string - . ,(if (>= (- (point-max) (point)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (+ (point) bookmark-search-size)) - nil)) - (rear-context-string - . ,(if (>= (- (point) (point-min)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (- (point) bookmark-search-size)) - nil)) - (position . ,(point)))) + ,@(unless read-only `((front-context-string + . ,(if (>= (- (point-max) (point)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (+ (point) bookmark-search-size)) + nil)))) + ,@(unless read-only `((rear-context-string + . ,(if (>= (- (point) (point-min)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (- (point) bookmark-search-size)) + nil)))) + (position . ,(or pos (point))))) \f ;;; File format stuff diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -4452,6 +4452,8 @@ (make-local-variable 'gnus-article-image-alist) (make-local-variable 'gnus-article-charset) (make-local-variable 'gnus-article-ignored-charsets) + (set (make-local-variable 'bookmark-make-record-function) + 'gnus-summary-bookmark-make-record) ;; Prevent Emacs 22 from displaying non-break space with `nobreak-space' ;; face. (set (make-local-variable 'nobreak-char-display) nil) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -12628,18 +12628,24 @@ (defun gnus-summary-bookmark-make-record () "Make a bookmark entry for a Gnus summary buffer." - (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) - (error "Please retry from the Gnus summary buffer")) ;[1] - (let* ((subject (elt (gnus-summary-article-header) 1)) - (grp (car gnus-article-current)) - (art (cdr gnus-article-current)) - (head (gnus-summary-article-header art)) - (id (mail-header-id head))) - `(,subject - ,@(bookmark-make-record-default 'point-only) - (location . ,(format "Gnus %s:%d:%s" grp art id)) - (group . ,grp) (article . ,art) - (message-id . ,id) (handler . gnus-summary-bookmark-jump)))) + (let (pos buf) + (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) + (save-restriction ; FIXME is it necessary to widen? + (widen) (setq pos (point))) ; Set position in gnus-article buffer. + (setq buf "art") ; We are recording bookmark from article buffer. + (gnus-article-show-summary)) ; Go back in summary buffer. + ;; We are now recording bookmark from summary buffer. + (unless buf (setq buf "sum")) + (let* ((subject (elt (gnus-summary-article-header) 1)) + (grp (car gnus-article-current)) + (art (cdr gnus-article-current)) + (head (gnus-summary-article-header art)) + (id (mail-header-id head))) + `(,subject + ,@(bookmark-make-record-default 'point-only pos 'read-only) + (location . ,(format "Gnus-%s %s:%d:%s" buf grp art id)) + (group . ,grp) (article . ,art) + (message-id . ,id) (handler . gnus-summary-bookmark-jump))))) ;;;###autoload (defun gnus-summary-bookmark-jump (bookmark) @@ -12647,10 +12653,18 @@ BOOKMARK is a bookmark name or a bookmark record." (let ((group (bookmark-prop-get bookmark 'group)) (article (bookmark-prop-get bookmark 'article)) - (id (bookmark-prop-get bookmark 'message-id))) + (id (bookmark-prop-get bookmark 'message-id)) + (buf (car (split-string (bookmark-prop-get bookmark 'location))))) (gnus-fetch-group group (list article)) (gnus-summary-insert-cached-articles) (gnus-summary-goto-article id nil 'force) + ;; FIXME we have to wait article buffer is ready (only large buffer) + ;; Is there a better solution to know that? + ;; If we don't wait `bookmark-default-handler' will have no chance + ;; to set position. However there is no error, just wrong pos. + (sit-for 1) + (when (string= buf "Gnus-art") + (other-window 1)) (bookmark-default-handler `("" (buffer . ,(current-buffer)) ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 19:57 ` Thierry Volpiatto @ 2010-06-29 20:10 ` Tassilo Horn 2010-06-29 20:16 ` Thierry Volpiatto 0 siblings, 1 reply; 78+ messages in thread From: Tassilo Horn @ 2010-06-29 20:10 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: Karl Fogel, emacs-devel On Tuesday 29 June 2010 21:57:08 Thierry Volpiatto wrote: > >> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > >> >- bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article > >> > buffer > >> > > >> >No one answer, not fixed. > >> > >> I'll take a look at this. > > > > Karl, you might want to have a look at org-gnus.el, which provides > > linking support to gnus articles and groups for org-mode. Maybe you > > can either borrow some code from me or even better, use those few > > functions. > > FYI bookmarking from gnus(summary) is now provided in Emacs(24). What > is missing is bookmarking from gnus-article buffer. The patch i > propose apply on my precedent work. If you want to reuse org code, > you will have much more work to enable it for bookmark (rewrite all), > as the things are differents. I attach here my patch again. I didn't know there's already a patch for that. :-) Bye, Tassilo ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 20:10 ` Tassilo Horn @ 2010-06-29 20:16 ` Thierry Volpiatto 2010-07-13 21:31 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Karl Fogel 2010-07-13 21:31 ` Karl Fogel 0 siblings, 2 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-06-29 20:16 UTC (permalink / raw) To: emacs-devel Tassilo Horn <tassilo@member.fsf.org> writes: > On Tuesday 29 June 2010 21:57:08 Thierry Volpiatto wrote: >> >> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >> >> >- bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article >> >> > buffer >> >> > >> >> >No one answer, not fixed. >> >> >> >> I'll take a look at this. >> > >> > Karl, you might want to have a look at org-gnus.el, which provides >> > linking support to gnus articles and groups for org-mode. Maybe you >> > can either borrow some code from me or even better, use those few >> > functions. >> >> FYI bookmarking from gnus(summary) is now provided in Emacs(24). What >> is missing is bookmarking from gnus-article buffer. The patch i >> propose apply on my precedent work. If you want to reuse org code, >> you will have much more work to enable it for bookmark (rewrite all), >> as the things are differents. I attach here my patch again. > > I didn't know there's already a patch for that. :-) If you are using emacs24, just jump to summary buffer from this mail and C-x r m ;-) (arrow down for default title). -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-06-29 20:16 ` Thierry Volpiatto @ 2010-07-13 21:31 ` Karl Fogel 2010-07-13 21:31 ` Karl Fogel 1 sibling, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-13 21:31 UTC (permalink / raw) To: emacs-devel; +Cc: 5975, Thierry Volpiatto I have a branch that prepares the way for setting bookmarks in Gnus Article buffers, based on Thierry's patch in bug #5975. I'm not sure where to apply this. Is pushing changes to trunk is okay right now? Starting from [1] and [2], I didn't find any notice that we are in feature freeze, but I'm pretty sure last time I pushed it turned out to be a mistake and that I should not have pushed to trunk. Independently of the above, Thierry, note I made some changes to your patch. You used (or kept) parameter names `point-only' and `read-only'; I changed those to `no-file' and `no-context', to describe what they are actually doing (whether the buffer is read-only or not is irrelevant to whether one wants the front/rear context strings in bookmark record). I also fixed up the doc string to mention your new POSN parameter, which I moved to the end of the parameter list. (Don't worry, I will adjust the gnus-sum.el patch as needed when the time comes.) I have not (yet) included your changes to gnus/gnus-art.el and gnus/gnus-sum.el, which finish the new functionality. Two reasons: 1. You said in the bug that you fixed C-w later. Could you provide that patch, please? 2. I'm not sure whether it's okay to commit significant code changes under gnus/, since the master is maintained outside the Emacs tree. If it is okay, then I am happy to apply your change (plus the C-w fix). I did test it, and it worked, except for C-w of course. Anyone who has comments or answers re the above, please chime in. Just for reference, the current (preparatory) patch is below. I will follow up separately with the gnus/* patch, so it's in the archives. Thanks for the patch, Thierry. We're getting close. -Karl [1] http://www.gnu.org/software/emacs/ [2] http://savannah.gnu.org/projects/emacs === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-07-13 10:41:49 +0000 +++ lisp/ChangeLog 2010-07-13 21:19:42 +0000 @@ -1,3 +1,26 @@ +2010-07-13 Karl Fogel <kfogel@red-bean.com> + + Prepare the way for setting bookmarks in Gnus article buffers. + + * lisp/bookmark.el (bookmark-make-record-default): Allow unneeded + information to be omitted from the record. Based on part of a + patch by Thierry Volpiatto (Bug#5975). + + Adjust declarations and calls: + + * info.el (bookmark-make-record-default): Adjust declaration. + (Info-bookmark-make-record): Adjust call. + + * woman.el (bookmark-make-record-default): Adjust declaration. + (woman-bookmark-make-record): Adjust call. + + * man.el (bookmark-make-record-default): Adjust declaration. + (Man-bookmark-make-record): Adjust call. + + * image-mode.el (bookmark-make-record-default): Adjust declaration. + + * doc-view.el (bookmark-make-record-default): Adjust declaration. + 2010-07-13 Adrian Robert <Adrian.B.Robert@gmail.com> * term/ns-win.el: Bind M-~ to 'ns-prev-frame (due to Matthew === modified file 'lisp/bookmark.el' --- lisp/bookmark.el 2010-07-10 18:52:53 +0000 +++ lisp/bookmark.el 2010-07-13 21:19:42 +0000 @@ -528,26 +528,36 @@ (setq bookmark-current-bookmark stripped-name) (bookmark-bmenu-surreptitiously-rebuild-list))) -(defun bookmark-make-record-default (&optional point-only) +(defun bookmark-make-record-default (&optional no-file no-context posn) "Return the record describing the location of a new bookmark. -Must be at the correct position in the buffer in which the bookmark is -being set. -If POINT-ONLY is non-nil, then only return the subset of the -record that pertains to the location within the buffer." - `(,@(unless point-only `((filename . ,(bookmark-buffer-file-name)))) - (front-context-string - . ,(if (>= (- (point-max) (point)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (+ (point) bookmark-search-size)) - nil)) - (rear-context-string - . ,(if (>= (- (point) (point-min)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (- (point) bookmark-search-size)) - nil)) - (position . ,(point)))) +Point should be at the buffer in which the bookmark is being set, +and normally should be at the position where the bookmark is desired, +but see the optional arguments for other possibilities. + +If NO-FILE is non-nil, then only return the subset of the +record that pertains to the location within the buffer, leaving off +the part that records the filename. + +If NO-CONTEXT is non-nil, do not include the front- and rear-context +strings in the record -- the position is enough. + +If POSN is non-nil, record POSN as the point instead of `(point)'." + `(,@(unless no-file `((filename . ,(bookmark-buffer-file-name)))) + ,@(unless no-context `((front-context-string + . ,(if (>= (- (point-max) (point)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (+ (point) bookmark-search-size)) + nil)))) + ,@(unless no-context `((rear-context-string + . ,(if (>= (- (point) (point-min)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (- (point) bookmark-search-size)) + nil)))) + (position . ,(or posn (point))))) \f ;;; File format stuff === modified file 'lisp/doc-view.el' --- lisp/doc-view.el 2010-02-16 14:35:45 +0000 +++ lisp/doc-view.el 2010-07-13 21:19:42 +0000 @@ -1349,8 +1349,8 @@ ;;;; Bookmark integration -(declare-function bookmark-make-record-default "bookmark" - (&optional point-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-06-22 16:48:53 +0000 +++ lisp/gnus/ChangeLog 2010-07-13 21:19:42 +0000 @@ -1,3 +1,8 @@ +2010-07-13 Karl Fogel <kfogel@red-bean.com> + + * gnus/gnus-sum.el (bookmark-make-record-default): Adjust + declaration, based on changes in bookmark.el. + 2010-06-22 Mark A. Hershberger <mah@everybody.org> * mm-url.el (mm-url-encode-multipart-form-data): New function to handle === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2010-06-10 00:30:13 +0000 +++ lisp/gnus/gnus-sum.el 2010-07-13 21:19:42 +0000 @@ -12621,7 +12621,8 @@ (gnus-summary-position-point))) ;;; Bookmark support for Gnus. -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) === modified file 'lisp/image-mode.el' --- lisp/image-mode.el 2010-06-14 03:19:46 +0000 +++ lisp/image-mode.el 2010-07-13 21:19:42 +0000 @@ -516,8 +516,8 @@ \f ;;; Support for bookmark.el -(declare-function bookmark-make-record-default "bookmark" - (&optional point-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) === modified file 'lisp/info.el' --- lisp/info.el 2010-06-17 20:56:17 +0000 +++ lisp/info.el 2010-07-13 21:19:42 +0000 @@ -4901,7 +4901,8 @@ '(Info-mode . Info-restore-desktop-buffer)) ;;;; Bookmark support -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) @@ -4910,7 +4911,7 @@ "This implements the `bookmark-make-record-function' type (which see) for Info nodes." `(,Info-current-node - ,@(bookmark-make-record-default 'point-only) + ,@(bookmark-make-record-default 'no-file) (filename . ,Info-current-file) (info-node . ,Info-current-node) (handler . Info-bookmark-jump))) === modified file 'lisp/man.el' --- lisp/man.el 2010-06-01 02:34:49 +0000 +++ lisp/man.el 2010-07-13 21:19:42 +0000 @@ -1674,7 +1674,8 @@ complete-path)) ;;; Bookmark Man Support -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) @@ -1691,7 +1692,7 @@ (defun Man-bookmark-make-record () "Make a bookmark entry for a Man buffer." `(,(Man-default-bookmark-title) - ,@(bookmark-make-record-default 'point-only) + ,@(bookmark-make-record-default 'no-file) (location . ,(concat "man " Man-arguments)) (man-args . ,Man-arguments) (handler . Man-bookmark-jump))) === modified file 'lisp/woman.el' --- lisp/woman.el 2010-05-25 02:11:08 +0000 +++ lisp/woman.el 2010-07-13 21:19:42 +0000 @@ -4521,7 +4521,8 @@ nil) ; for woman-file-readable-p etc. ;;; Bookmark Woman support. -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) @@ -4532,7 +4533,7 @@ (defun woman-bookmark-make-record () "Make a bookmark entry for a Woman buffer." `(,(Man-default-bookmark-title) - ,@(bookmark-make-record-default 'point-only) + ,@(bookmark-make-record-default 'no-file) (location . ,(concat "woman " woman-last-file-name)) ;; Use the same form as man's bookmarks, as much as possible. (man-args . ,woman-last-file-name) ^ permalink raw reply [flat|nested] 78+ messages in thread
* Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-06-29 20:16 ` Thierry Volpiatto 2010-07-13 21:31 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Karl Fogel @ 2010-07-13 21:31 ` Karl Fogel 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto ` (4 more replies) 1 sibling, 5 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-13 21:31 UTC (permalink / raw) To: emacs-devel; +Cc: 5975, Thierry Volpiatto I have a branch that prepares the way for setting bookmarks in Gnus Article buffers, based on Thierry's patch in bug #5975. I'm not sure where to apply this. Is pushing changes to trunk is okay right now? Starting from [1] and [2], I didn't find any notice that we are in feature freeze, but I'm pretty sure last time I pushed it turned out to be a mistake and that I should not have pushed to trunk. Independently of the above, Thierry, note I made some changes to your patch. You used (or kept) parameter names `point-only' and `read-only'; I changed those to `no-file' and `no-context', to describe what they are actually doing (whether the buffer is read-only or not is irrelevant to whether one wants the front/rear context strings in bookmark record). I also fixed up the doc string to mention your new POSN parameter, which I moved to the end of the parameter list. (Don't worry, I will adjust the gnus-sum.el patch as needed when the time comes.) I have not (yet) included your changes to gnus/gnus-art.el and gnus/gnus-sum.el, which finish the new functionality. Two reasons: 1. You said in the bug that you fixed C-w later. Could you provide that patch, please? 2. I'm not sure whether it's okay to commit significant code changes under gnus/, since the master is maintained outside the Emacs tree. If it is okay, then I am happy to apply your change (plus the C-w fix). I did test it, and it worked, except for C-w of course. Anyone who has comments or answers re the above, please chime in. Just for reference, the current (preparatory) patch is below. I will follow up separately with the gnus/* patch, so it's in the archives. Thanks for the patch, Thierry. We're getting close. -Karl [1] http://www.gnu.org/software/emacs/ [2] http://savannah.gnu.org/projects/emacs === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-07-13 10:41:49 +0000 +++ lisp/ChangeLog 2010-07-13 21:19:42 +0000 @@ -1,3 +1,26 @@ +2010-07-13 Karl Fogel <kfogel@red-bean.com> + + Prepare the way for setting bookmarks in Gnus article buffers. + + * lisp/bookmark.el (bookmark-make-record-default): Allow unneeded + information to be omitted from the record. Based on part of a + patch by Thierry Volpiatto (Bug#5975). + + Adjust declarations and calls: + + * info.el (bookmark-make-record-default): Adjust declaration. + (Info-bookmark-make-record): Adjust call. + + * woman.el (bookmark-make-record-default): Adjust declaration. + (woman-bookmark-make-record): Adjust call. + + * man.el (bookmark-make-record-default): Adjust declaration. + (Man-bookmark-make-record): Adjust call. + + * image-mode.el (bookmark-make-record-default): Adjust declaration. + + * doc-view.el (bookmark-make-record-default): Adjust declaration. + 2010-07-13 Adrian Robert <Adrian.B.Robert@gmail.com> * term/ns-win.el: Bind M-~ to 'ns-prev-frame (due to Matthew === modified file 'lisp/bookmark.el' --- lisp/bookmark.el 2010-07-10 18:52:53 +0000 +++ lisp/bookmark.el 2010-07-13 21:19:42 +0000 @@ -528,26 +528,36 @@ (setq bookmark-current-bookmark stripped-name) (bookmark-bmenu-surreptitiously-rebuild-list))) -(defun bookmark-make-record-default (&optional point-only) +(defun bookmark-make-record-default (&optional no-file no-context posn) "Return the record describing the location of a new bookmark. -Must be at the correct position in the buffer in which the bookmark is -being set. -If POINT-ONLY is non-nil, then only return the subset of the -record that pertains to the location within the buffer." - `(,@(unless point-only `((filename . ,(bookmark-buffer-file-name)))) - (front-context-string - . ,(if (>= (- (point-max) (point)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (+ (point) bookmark-search-size)) - nil)) - (rear-context-string - . ,(if (>= (- (point) (point-min)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (- (point) bookmark-search-size)) - nil)) - (position . ,(point)))) +Point should be at the buffer in which the bookmark is being set, +and normally should be at the position where the bookmark is desired, +but see the optional arguments for other possibilities. + +If NO-FILE is non-nil, then only return the subset of the +record that pertains to the location within the buffer, leaving off +the part that records the filename. + +If NO-CONTEXT is non-nil, do not include the front- and rear-context +strings in the record -- the position is enough. + +If POSN is non-nil, record POSN as the point instead of `(point)'." + `(,@(unless no-file `((filename . ,(bookmark-buffer-file-name)))) + ,@(unless no-context `((front-context-string + . ,(if (>= (- (point-max) (point)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (+ (point) bookmark-search-size)) + nil)))) + ,@(unless no-context `((rear-context-string + . ,(if (>= (- (point) (point-min)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (- (point) bookmark-search-size)) + nil)))) + (position . ,(or posn (point))))) \f ;;; File format stuff === modified file 'lisp/doc-view.el' --- lisp/doc-view.el 2010-02-16 14:35:45 +0000 +++ lisp/doc-view.el 2010-07-13 21:19:42 +0000 @@ -1349,8 +1349,8 @@ ;;;; Bookmark integration -(declare-function bookmark-make-record-default "bookmark" - (&optional point-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-06-22 16:48:53 +0000 +++ lisp/gnus/ChangeLog 2010-07-13 21:19:42 +0000 @@ -1,3 +1,8 @@ +2010-07-13 Karl Fogel <kfogel@red-bean.com> + + * gnus/gnus-sum.el (bookmark-make-record-default): Adjust + declaration, based on changes in bookmark.el. + 2010-06-22 Mark A. Hershberger <mah@everybody.org> * mm-url.el (mm-url-encode-multipart-form-data): New function to handle === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2010-06-10 00:30:13 +0000 +++ lisp/gnus/gnus-sum.el 2010-07-13 21:19:42 +0000 @@ -12621,7 +12621,8 @@ (gnus-summary-position-point))) ;;; Bookmark support for Gnus. -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) === modified file 'lisp/image-mode.el' --- lisp/image-mode.el 2010-06-14 03:19:46 +0000 +++ lisp/image-mode.el 2010-07-13 21:19:42 +0000 @@ -516,8 +516,8 @@ \f ;;; Support for bookmark.el -(declare-function bookmark-make-record-default "bookmark" - (&optional point-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) === modified file 'lisp/info.el' --- lisp/info.el 2010-06-17 20:56:17 +0000 +++ lisp/info.el 2010-07-13 21:19:42 +0000 @@ -4901,7 +4901,8 @@ '(Info-mode . Info-restore-desktop-buffer)) ;;;; Bookmark support -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) @@ -4910,7 +4911,7 @@ "This implements the `bookmark-make-record-function' type (which see) for Info nodes." `(,Info-current-node - ,@(bookmark-make-record-default 'point-only) + ,@(bookmark-make-record-default 'no-file) (filename . ,Info-current-file) (info-node . ,Info-current-node) (handler . Info-bookmark-jump))) === modified file 'lisp/man.el' --- lisp/man.el 2010-06-01 02:34:49 +0000 +++ lisp/man.el 2010-07-13 21:19:42 +0000 @@ -1674,7 +1674,8 @@ complete-path)) ;;; Bookmark Man Support -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) @@ -1691,7 +1692,7 @@ (defun Man-bookmark-make-record () "Make a bookmark entry for a Man buffer." `(,(Man-default-bookmark-title) - ,@(bookmark-make-record-default 'point-only) + ,@(bookmark-make-record-default 'no-file) (location . ,(concat "man " Man-arguments)) (man-args . ,Man-arguments) (handler . Man-bookmark-jump))) === modified file 'lisp/woman.el' --- lisp/woman.el 2010-05-25 02:11:08 +0000 +++ lisp/woman.el 2010-07-13 21:19:42 +0000 @@ -4521,7 +4521,8 @@ nil) ; for woman-file-readable-p etc. ;;; Bookmark Woman support. -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) +(declare-function bookmark-make-record-default + "bookmark" (&optional no-file no-context posn)) (declare-function bookmark-prop-get "bookmark" (bookmark prop)) (declare-function bookmark-default-handler "bookmark" (bmk)) (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) @@ -4532,7 +4533,7 @@ (defun woman-bookmark-make-record () "Make a bookmark entry for a Woman buffer." `(,(Man-default-bookmark-title) - ,@(bookmark-make-record-default 'point-only) + ,@(bookmark-make-record-default 'no-file) (location . ,(concat "woman " woman-last-file-name)) ;; Use the same form as man's bookmarks, as much as possible. (man-args . ,woman-last-file-name) ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer @ 2010-04-19 17:07 ` Thierry Volpiatto 2010-05-17 14:14 ` Thierry Volpiatto ` (3 more replies) 0 siblings, 4 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-04-19 17:07 UTC (permalink / raw) To: 5975 [-- Attachment #1: Type: text/plain, Size: 11995 bytes --] Hi, actually we can bookmark a gnus mail/news only from summary buffer. It is useful to be able to bookmark from article buffer and retrieve position. Find here a patch attached that fix that. It is tested i already use it here. In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.18.9) of 2010-04-17 on tux Windowing system distributor `The X.Org Foundation', version 11.0.10706000 configured using `configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--program-suffix=-emacs-24' '--infodir=/usr/share/info/emacs-24' '--with-sound' '--with-x' '--without-gconf' '--without-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--with-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CFLAGS=-march=i686 -pipe -O2' 'LDFLAGS=-Wl,-O1'' Important settings: value of $LC_ALL: C value of $LC_COLLATE: C value of $LC_CTYPE: fr_FR.UTF-8 value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: fr_FR.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Emacs-Lisp Minor modes in effect: global-undo-tree-mode: t undo-tree-mode: t eldoc-mode: t delete-selection-mode: t minibuffer-depth-indicate-mode: t auto-image-file-mode: t shell-dirtrack-mode: t show-paren-mode: t display-battery-mode: t display-time-mode: t diff-auto-refine-mode: t savehist-mode: t desktop-save-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> C-z p <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <down> <down> <down> <down> <down> <left> <left> <left> C-z n <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <f5> a q <tab> <down> <down> <down> <down> <return> <down> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> p a t c h - 1 0 7 9 6 3 <left> <left> <left> <left> <left> <left> r <right> <right> <right> <right> <right> <right> . p a t c h <return> C-z 5 <up> <up> <up> C-z n <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> M-x r e p o r t <ret urn> Recent messages: [2 times] Mark set Quit [2 times] [2 times] qpush -> applying Initial-patch now at: Initial-patch Revert buffer from file /home/thierry/labo/emacs-hg-qp/lisp/gnus/gnus-sum.el? (y or n) Exported revision 107963 to /home/thierry/labo/emacs-hg-qp/patch-r107963.patch. Load-path shadows: /home/thierry/elisp/lua-mode/lua-mode hides /usr/share/emacs/site-lisp/lua-mode/lua-mode ~/elisp/g-client/json hides /usr/share/emacs/24.0.50/lisp/json /usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/24.0.50/lisp/hex-util /usr/share/emacs/site-lisp/flim/sha1 hides /usr/share/emacs/24.0.50/lisp/sha1 /usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/24.0.50/lisp/md4 /usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/24.0.50/lisp/net/ntlm /usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/24.0.50/lisp/net/hmac-def /usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.0.50/lisp/net/sasl-digest /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/24.0.50/lisp/net/sasl /usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.0.50/lisp/net/hmac-md5 /usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.0.50/lisp/net/sasl-cram /usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.0.50/lisp/net/sasl-ntlm /home/thierry/elisp/emms/lisp/tq hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/tq Features: (shadow emacsbug xgit-dvc xgit xgit-annotate dvc-annotate xgit-log dvc-bookmarks canlock sha1 sha1-el hex-util em-unix em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic esh-opt em-banner em-alias esh-var esh-io esh-cmd esh-ext esh-proc esh-groups eshell esh-module esh-mode help-mode view hl-line flyspell ispell epa-mail gnus-fun smiley gnus-ml w3m-cookie sb-emacswiki sb-rss url-cache url-handlers nnrss parse-time nnfolder nndraft nnmh bbdb-gnus bbdb-snarf nnml starttls mailalias smtpmail qp gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-cache gnus-cite gnus-demon gnus-namazu gnus-dired nnshimbun shimbun luna eword-encode eword-decode std11 mel path-util mime-def mcharset mcs-20 mcs-e20 pces pces-e20 pces-20 broken pcustom poe gnus-bcklg spam spam-stat gnus-uu yenc gnus-alias mail-extr gnus-msg align conf-mode newcomment vc-rcs xhg-dvc xhg xhg-annotate xhg-mq xhg-log bzr-core cg-core xdarcs-core xgit-core xhg-core xmtn-minimal tla smerge-mode dvc-state dvc-config dvc-diff dvc-fileinfo diff dvc-cmenu dvc-about dvc-version dvc-revlist uniquify align-let server el-expectations el-mock csv2org iedit eieio zop-to-char wave-list wave-display wave-client json netrc g g-cus-load elscreen-server elscreen-dired elscreen-w3m mule-util alist pym static apel-ver product elscreen undo-tree smallurl mm-url xml-weather rectangle-utils windmove sdcv woof screenshot auto-document eiv tv-utils eldoc pcvs pcvs-parse pcvs-info pcvs-defs showtip delsel init-anything-thierry descbinds-anything anything-ipython ipython executable anything-grep grep anything-dabbrev-expand dabbrev shell-history anything-complete anything-show-completion anything-etags anything-match-plugin etags anything-traverse anything-delicious anything-mercurial anything-config w3m-bookmark rx anything firefox-protocol bookmark-firefox-handler bookmark-extensions bookmark install-elisp find-func mb-depth autodoc ioccur traverselisp thumb-page moz stumpwm-mode cl-info slime-banner slime-tramp slime-asdf slime-fancy slime-fontifying-fu slime-package-fu slime-references slime-xref-browser slime-scratch slime-presentations slime-highlight-edits slime-fuzzy slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-parse slime-repl slime apropos hideshow hyperspec thingatpt slime-autoloads bbdb-autoloads bbdb-gui bbdb-com bbdb boxquote rect image-file tramp-imap tramp-gw tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp shell tramp-compat trampver newsticker newst-treeview tree-widget newst-plainview newst-reader newst-ticker newst-backend ledger pcomplete esh-arg esh-util extview lpr woman man assoc two-column shell-command em-term term ehelp electric esh-toggle em-xtra dirtrack flymake pdbtrack pycomplete python-mode info-look ansi-color pymacs no-word regex-tool whitespace htmlfontify text-translator-load paren battery time dired-tar compile comint dired-extension image-dired dired-details yaoddmuse skeleton sgml-mode emms-mpd-config emms-playlist-limit emms-volume emms-volume-amixer emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-lastfm-client emms-cue emms-mode-line-icon emms-browser sort emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-playing-time emms-lyrics emms-url emms-tag-editor emms-mark emms-mode-line emms-cache emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mplayer emms-info emms-streams later-do emms-source-playlist emms-source-file emms-player-simple emms-setup emms emms-compat winner dvc-init bzr-gnus tla-gnus xgit-gnus xhg-gnus gnus-art mm-uu mml2015 mm-view smime password-cache dig dvc-gnus tla-core pp tla-autoconf tla-defs dvc-log vc vc-dispatcher dvc-unified dvc-tips dired-x dired-aux ffap ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff dvc-autoloads dvc-core dvc-lisp dvc-buffers dvc-ui dvc-register dvc-utils dvc-emacs ewoc dvc-defs dvc-site psvn log-edit ring pcvs-util add-log diff-mode lisppaste-extension lisppaste xml-rpc url-http tls url-auth url-gw xml htmlize-hack htmlize muse-colors muse-docbook muse-texinfo texnfo-upd texinfo muse-latex muse-html muse-xml-common muse-wiki cus-edit cus-start cus-load muse-publish muse-project muse-protocols muse-regexps muse muse-nested-tags muse-mode muse-autoloads org-config-thierry cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs vc-hg org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp org-exp-blocks org-info org-gnus org-docview org-bibtex org-bbdb org-agenda appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs org-annotation-helper url url-proxy url-privacy url-expand url-methods url-history url-cookie url-util url-parse url-vars mailcap remember org-remember org-datetree org byte-opt bytecomp byte-compile org-footnote org-src org-list org-faces org-compat org-entities org-macs noutline outline config-w3m w3m browse-url doc-view jka-compr image-mode timezone w3m-hist w3m-fb w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util mime-w3m w3m-load savehist epa-file epa derived epg epg-config auth-source dired gnus-async nntp gnus-sum nnoo gnus-group time-date gnus-undo nnmail mail-source format-spec gnus-start gnus-spec gnus-int gnus-range message sendmail regexp-opt rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader gnus-util mail-utils mm-util mail-prsvr wid-edit info easymenu usage-memo desktop midnight punycode idna mybest-theme edmacro kmacro eev-thierry iterator eev-all eev-mini-steps eev-browse-url eev-langs eev-compose eev-glyphs disp-table eev-insert eev-steps eev-bounded eev easy-mmode advice help-fns advice-preload cl cl-19 site-gentoo w3m-wget preview-latex tex-site auto-loads tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind font-render-setting gtk x-toolkit x multi-tty emacs) -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: patch-r107963.patch --] [-- Type: text/x-patch, Size: 6253 bytes --] # HG changeset patch # User Thierry Volpiatto <thierry.volpiatto@gmail.com> # Date 1271696126 -7200 # Node ID 450b24a81b9dd4f91e50b2f82cb0fcc81503f70f # Parent 00b16f9f52adab5048a905c78953c49bdfa2e9a2 Allow to bookmark a mail from a Gnus article buffer and retrieve position. * lisp/bookmark.el (bookmark-make-record-default) Avoid recording *-context-string when not needed. * lisp/gnus/gnus-art.el set `bookmark-make-record-function' local. * lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record) allow recording from article buffer. (gnus-summary-bookmark-jump) maybe jump to article buffer. diff --git a/lisp/bookmark.el b/lisp/bookmark.el --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -528,26 +528,30 @@ (setq bookmark-current-bookmark stripped-name) (bookmark-bmenu-surreptitiously-rebuild-list))) -(defun bookmark-make-record-default (&optional point-only) +(defun bookmark-make-record-default (&optional point-only pos read-only) "Return the record describing the location of a new bookmark. Must be at the correct position in the buffer in which the bookmark is being set. If POINT-ONLY is non-nil, then only return the subset of the -record that pertains to the location within the buffer." +record that pertains to the location within the buffer. +If READ-ONLY is non-nil that's mean buffer is read-only and +there is no need to record front/rear-context-string, position is enough." `(,@(unless point-only `((filename . ,(bookmark-buffer-file-name)))) - (front-context-string - . ,(if (>= (- (point-max) (point)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (+ (point) bookmark-search-size)) - nil)) - (rear-context-string - . ,(if (>= (- (point) (point-min)) bookmark-search-size) - (buffer-substring-no-properties - (point) - (- (point) bookmark-search-size)) - nil)) - (position . ,(point)))) + ,@(unless read-only `((front-context-string + . ,(if (>= (- (point-max) (point)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (+ (point) bookmark-search-size)) + nil)))) + ,@(unless read-only `((rear-context-string + . ,(if (>= (- (point) (point-min)) + bookmark-search-size) + (buffer-substring-no-properties + (point) + (- (point) bookmark-search-size)) + nil)))) + (position . ,(or pos (point))))) \f ;;; File format stuff diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -4446,6 +4446,8 @@ (make-local-variable 'gnus-article-image-alist) (make-local-variable 'gnus-article-charset) (make-local-variable 'gnus-article-ignored-charsets) + (set (make-local-variable 'bookmark-make-record-function) + 'gnus-summary-bookmark-make-record) ;; Prevent Emacs 22 from displaying non-break space with `nobreak-space' ;; face. (set (make-local-variable 'nobreak-char-display) nil) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -12648,18 +12648,24 @@ (defun gnus-summary-bookmark-make-record () "Make a bookmark entry for a Gnus summary buffer." - (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) - (error "Please retry from the Gnus summary buffer")) ;[1] - (let* ((subject (elt (gnus-summary-article-header) 1)) - (grp (car gnus-article-current)) - (art (cdr gnus-article-current)) - (head (gnus-summary-article-header art)) - (id (mail-header-id head))) - `(,subject - ,@(bookmark-make-record-default 'point-only) - (location . ,(format "Gnus %s:%d:%s" grp art id)) - (group . ,grp) (article . ,art) - (message-id . ,id) (handler . gnus-summary-bookmark-jump)))) + (let (pos buf) + (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) + (save-restriction ; FIXME is it necessary to widen? + (widen) (setq pos (point))) ; Set position in gnus-article buffer. + (setq buf "art") ; We are recording bookmark from article buffer. + (gnus-article-show-summary)) ; Go back in summary buffer. + ;; We are now recording bookmark from summary buffer. + (unless buf (setq buf "sum")) + (let* ((subject (elt (gnus-summary-article-header) 1)) + (grp (car gnus-article-current)) + (art (cdr gnus-article-current)) + (head (gnus-summary-article-header art)) + (id (mail-header-id head))) + `(,subject + ,@(bookmark-make-record-default 'point-only pos 'read-only) + (location . ,(format "Gnus-%s %s:%d:%s" buf grp art id)) + (group . ,grp) (article . ,art) + (message-id . ,id) (handler . gnus-summary-bookmark-jump))))) ;;;###autoload (defun gnus-summary-bookmark-jump (bookmark) @@ -12667,10 +12673,18 @@ BOOKMARK is a bookmark name or a bookmark record." (let ((group (bookmark-prop-get bookmark 'group)) (article (bookmark-prop-get bookmark 'article)) - (id (bookmark-prop-get bookmark 'message-id))) + (id (bookmark-prop-get bookmark 'message-id)) + (buf (car (split-string (bookmark-prop-get bookmark 'location))))) (gnus-fetch-group group (list article)) (gnus-summary-insert-cached-articles) (gnus-summary-goto-article id nil 'force) + ;; FIXME we have to wait article buffer is ready (only large buffer) + ;; Is there a better solution to know that? + ;; If we don't wait `bookmark-default-handler' will have no chance + ;; to set position. However there is no error, just wrong pos. + (sit-for 1) + (when (string= buf "Gnus-art") + (other-window 1)) (bookmark-default-handler `("" (buffer . ,(current-buffer)) ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto @ 2010-05-17 14:14 ` Thierry Volpiatto 2010-07-13 21:46 ` bug#5975: Bazaar branch where this is being fixed Karl Fogel ` (2 subsequent siblings) 3 siblings, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-05-17 14:14 UTC (permalink / raw) To: bug-gnu-emacs In the patch sent here, C-w is not working, i have fixed that here. See bookmark-extensions.el http://mercurial.intuxication.org/hg/emacs-bookmark-extension/ I can send another patch if somebody is interested, in this case contact me. Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > Hi, > actually we can bookmark a gnus mail/news only from summary buffer. > It is useful to be able to bookmark from article buffer and retrieve > position. > Find here a patch attached that fix that. > It is tested i already use it here. > > > In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.18.9) > of 2010-04-17 on tux > Windowing system distributor `The X.Org Foundation', version 11.0.10706000 > configured using `configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--program-suffix=-emacs-24' '--infodir=/usr/share/info/emacs-24' '--with-sound' '--with-x' '--without-gconf' '--without-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--with-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CFLAGS=-march=i686 -pipe -O2' 'LDFLAGS=-Wl,-O1'' > > Important settings: > value of $LC_ALL: C > value of $LC_COLLATE: C > value of $LC_CTYPE: fr_FR.UTF-8 > value of $LC_MESSAGES: nil > value of $LC_MONETARY: nil > value of $LC_NUMERIC: nil > value of $LC_TIME: nil > value of $LANG: fr_FR.UTF-8 > value of $XMODIFIERS: nil > locale-coding-system: utf-8-unix > default enable-multibyte-characters: t > > Major mode: Emacs-Lisp > > Minor modes in effect: > global-undo-tree-mode: t > undo-tree-mode: t > eldoc-mode: t > delete-selection-mode: t > minibuffer-depth-indicate-mode: t > auto-image-file-mode: t > shell-dirtrack-mode: t > show-paren-mode: t > display-battery-mode: t > display-time-mode: t > diff-auto-refine-mode: t > savehist-mode: t > desktop-save-mode: t > tooltip-mode: t > mouse-wheel-mode: t > file-name-shadow-mode: t > global-font-lock-mode: t > font-lock-mode: t > auto-encryption-mode: t > auto-compression-mode: t > line-number-mode: t > transient-mark-mode: t > > Recent input: > <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> > <up> <up> <up> C-z p <up> <up> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <down> > <down> <down> <down> <down> <left> <left> <left> C-z > n <down> <down> <down> <down> <down> <down> <down> > <down> <down> <down> <down> <down> <down> <down> <down> > <down> <down> <down> <down> <down> <down> <down> <down> > <down> <down> <down> <down> <down> <down> <down> <down> > <down> <up> <up> <up> <up> <up> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <f5> a q <tab> <down> <down> > <down> <down> <return> <down> <right> <right> <right> > <right> <right> <right> <right> <right> <right> <right> > <right> <right> <right> <right> <right> <right> <right> > <right> <right> <right> <right> <right> <right> <right> > <right> <right> <right> <right> <right> <right> <right> > <right> <right> <right> <right> <right> <right> <right> > <right> <right> <right> <right> <right> <right> <backspace> > <backspace> <backspace> <backspace> <backspace> <backspace> > <backspace> <backspace> <backspace> <backspace> <backspace> > <backspace> <backspace> p a t c h - 1 0 7 9 6 3 <left> > <left> <left> <left> <left> <left> r <right> <right> > <right> <right> <right> <right> . p a t c h <return> > C-z 5 <up> <up> <up> C-z n <down> <down> <down> <down> > <down> <down> <down> <down> <down> <down> <down> <down> > <down> <down> <down> <down> <down> <down> <down> <down> > <down> <down> <down> <down> <down> <down> <down> <down> > <down> <down> <down> <down> <down> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> > <up> <up> <up> <up> <up> <up> M-x r e p o r t <ret > urn> > > Recent messages: > [2 times] > Mark set > Quit [2 times] > [2 times] > qpush -> applying Initial-patch > now at: Initial-patch > Revert buffer from file /home/thierry/labo/emacs-hg-qp/lisp/gnus/gnus-sum.el? (y or n) > > Exported revision 107963 to /home/thierry/labo/emacs-hg-qp/patch-r107963.patch. > > > Load-path shadows: > /home/thierry/elisp/lua-mode/lua-mode hides /usr/share/emacs/site-lisp/lua-mode/lua-mode > ~/elisp/g-client/json hides /usr/share/emacs/24.0.50/lisp/json > /usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/24.0.50/lisp/hex-util > /usr/share/emacs/site-lisp/flim/sha1 hides /usr/share/emacs/24.0.50/lisp/sha1 > /usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/24.0.50/lisp/md4 > /usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/24.0.50/lisp/net/ntlm > /usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/24.0.50/lisp/net/hmac-def > /usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.0.50/lisp/net/sasl-digest > /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/24.0.50/lisp/net/sasl > /usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.0.50/lisp/net/hmac-md5 > /usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.0.50/lisp/net/sasl-cram > /usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.0.50/lisp/net/sasl-ntlm > /home/thierry/elisp/emms/lisp/tq hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/tq > > Features: > (shadow emacsbug xgit-dvc xgit xgit-annotate dvc-annotate xgit-log > dvc-bookmarks canlock sha1 sha1-el hex-util em-unix em-script em-prompt > em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic esh-opt em-banner > em-alias esh-var esh-io esh-cmd esh-ext esh-proc esh-groups eshell > esh-module esh-mode help-mode view hl-line flyspell ispell epa-mail > gnus-fun smiley gnus-ml w3m-cookie sb-emacswiki sb-rss url-cache > url-handlers nnrss parse-time nnfolder nndraft nnmh bbdb-gnus bbdb-snarf > nnml starttls mailalias smtpmail qp gnus-agent gnus-srvr gnus-score > score-mode nnvirtual gnus-cache gnus-cite gnus-demon gnus-namazu > gnus-dired nnshimbun shimbun luna eword-encode eword-decode std11 mel > path-util mime-def mcharset mcs-20 mcs-e20 pces pces-e20 pces-20 broken > pcustom poe gnus-bcklg spam spam-stat gnus-uu yenc gnus-alias mail-extr > gnus-msg align conf-mode newcomment vc-rcs xhg-dvc xhg xhg-annotate > xhg-mq xhg-log bzr-core cg-core xdarcs-core xgit-core xhg-core > xmtn-minimal tla smerge-mode dvc-state dvc-config dvc-diff dvc-fileinfo > diff dvc-cmenu dvc-about dvc-version dvc-revlist uniquify align-let > server el-expectations el-mock csv2org iedit eieio zop-to-char wave-list > wave-display wave-client json netrc g g-cus-load elscreen-server > elscreen-dired elscreen-w3m mule-util alist pym static apel-ver product > elscreen undo-tree smallurl mm-url xml-weather rectangle-utils windmove > sdcv woof screenshot auto-document eiv tv-utils eldoc pcvs pcvs-parse > pcvs-info pcvs-defs showtip delsel init-anything-thierry > descbinds-anything anything-ipython ipython executable anything-grep > grep anything-dabbrev-expand dabbrev shell-history anything-complete > anything-show-completion anything-etags anything-match-plugin etags > anything-traverse anything-delicious anything-mercurial anything-config > w3m-bookmark rx anything firefox-protocol bookmark-firefox-handler > bookmark-extensions bookmark install-elisp find-func mb-depth autodoc > ioccur traverselisp thumb-page moz stumpwm-mode cl-info slime-banner > slime-tramp slime-asdf slime-fancy slime-fontifying-fu slime-package-fu > slime-references slime-xref-browser slime-scratch slime-presentations > slime-highlight-edits slime-fuzzy slime-fancy-inspector slime-c-p-c > slime-editing-commands slime-autodoc slime-parse slime-repl slime > apropos hideshow hyperspec thingatpt slime-autoloads bbdb-autoloads > bbdb-gui bbdb-com bbdb boxquote rect image-file tramp-imap tramp-gw > tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp shell > tramp-compat trampver newsticker newst-treeview tree-widget > newst-plainview newst-reader newst-ticker newst-backend ledger pcomplete > esh-arg esh-util extview lpr woman man assoc two-column shell-command > em-term term ehelp electric esh-toggle em-xtra dirtrack flymake pdbtrack > pycomplete python-mode info-look ansi-color pymacs no-word regex-tool > whitespace htmlfontify text-translator-load paren battery time dired-tar > compile comint dired-extension image-dired dired-details yaoddmuse > skeleton sgml-mode emms-mpd-config emms-playlist-limit emms-volume > emms-volume-amixer emms-i18n emms-history emms-score emms-stream-info > emms-metaplaylist-mode emms-bookmarks emms-lastfm-client emms-cue > emms-mode-line-icon emms-browser sort emms-playlist-sort > emms-last-played emms-player-xine emms-player-mpd tq emms-playing-time > emms-lyrics emms-url emms-tag-editor emms-mark emms-mode-line emms-cache > emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc > emms-player-mplayer emms-info emms-streams later-do emms-source-playlist > emms-source-file emms-player-simple emms-setup emms emms-compat winner > dvc-init bzr-gnus tla-gnus xgit-gnus xhg-gnus gnus-art mm-uu mml2015 > mm-view smime password-cache dig dvc-gnus tla-core pp tla-autoconf > tla-defs dvc-log vc vc-dispatcher dvc-unified dvc-tips dired-x dired-aux > ffap ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult > ediff-init ediff dvc-autoloads dvc-core dvc-lisp dvc-buffers dvc-ui > dvc-register dvc-utils dvc-emacs ewoc dvc-defs dvc-site psvn log-edit > ring pcvs-util add-log diff-mode lisppaste-extension lisppaste xml-rpc > url-http tls url-auth url-gw xml htmlize-hack htmlize muse-colors > muse-docbook muse-texinfo texnfo-upd texinfo muse-latex muse-html > muse-xml-common muse-wiki cus-edit cus-start cus-load muse-publish > muse-project muse-protocols muse-regexps muse muse-nested-tags muse-mode > muse-autoloads org-config-thierry cal-china lunar solar cal-dst > cal-bahai cal-islam cal-hebrew holidays hol-loaddefs vc-hg org-wl > org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs > org-html org-exp org-exp-blocks org-info org-gnus org-docview org-bibtex > org-bbdb org-agenda appt diary-lib diary-loaddefs cal-menu calendar > cal-loaddefs org-annotation-helper url url-proxy url-privacy url-expand > url-methods url-history url-cookie url-util url-parse url-vars mailcap > remember org-remember org-datetree org byte-opt bytecomp byte-compile > org-footnote org-src org-list org-faces org-compat org-entities org-macs > noutline outline config-w3m w3m browse-url doc-view jka-compr image-mode > timezone w3m-hist w3m-fb w3m-ems w3m-ccl ccl w3m-favicon w3m-image > w3m-proc w3m-util mime-w3m w3m-load savehist epa-file epa derived epg > epg-config auth-source dired gnus-async nntp gnus-sum nnoo gnus-group > time-date gnus-undo nnmail mail-source format-spec gnus-start gnus-spec > gnus-int gnus-range message sendmail regexp-opt rfc822 mml mml-sec > mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 > ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems > nnheader gnus-util mail-utils mm-util mail-prsvr wid-edit info easymenu > usage-memo desktop midnight punycode idna mybest-theme edmacro kmacro > eev-thierry iterator eev-all eev-mini-steps eev-browse-url eev-langs > eev-compose eev-glyphs disp-table eev-insert eev-steps eev-bounded eev > easy-mmode advice help-fns advice-preload cl cl-19 site-gentoo w3m-wget > preview-latex tex-site auto-loads tooltip ediff-hook vc-hooks > lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset > image fringe lisp-mode register page menu-bar rfn-eshadow timer select > scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core > frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai > tai-viet lao korean japanese hebrew greek romanian slovak czech european > ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help > simple abbrev loaddefs button minibuffer faces cus-face files > text-properties overlay md5 base64 format env code-pages mule custom > widget hashtable-print-readable backquote make-network-process dbusbind > font-render-setting gtk x-toolkit x multi-tty emacs) -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: Bazaar branch where this is being fixed. 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto 2010-05-17 14:14 ` Thierry Volpiatto @ 2010-07-13 21:46 ` Karl Fogel 2010-07-13 23:30 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Glenn Morris 2010-07-14 19:48 ` bug#5975: [PATCH] Allow using C-w (bookmark-yank-word) when bookmarking from a gnus article buffer Thierry Volpiatto 3 siblings, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-13 21:46 UTC (permalink / raw) To: 5975 Just for reference, the public reflection of the Bazaar branch where I am fixing this is: https://code.launchpad.net/~kfogel/emacs/bug-5975 -Karl ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto 2010-05-17 14:14 ` Thierry Volpiatto 2010-07-13 21:46 ` bug#5975: Bazaar branch where this is being fixed Karl Fogel @ 2010-07-13 23:30 ` Glenn Morris 2010-07-14 19:48 ` bug#5975: [PATCH] Allow using C-w (bookmark-yank-word) when bookmarking from a gnus article buffer Thierry Volpiatto 3 siblings, 0 replies; 78+ messages in thread From: Glenn Morris @ 2010-07-13 23:30 UTC (permalink / raw) To: Karl Fogel; +Cc: emacs-devel, 5975, Thierry Volpiatto Karl Fogel wrote: > I'm not sure where to apply this. Do you think it (for any value of "it") is safe for Emacs 23.3? Is it very unlikely to introduce a regression with respect to Emacs 23.2? If so, apply "it" only to the emacs-23 branch. It will get merged to the trunk at some point. If not, or if you aren't sure, or think it needs more testing, apply "it" to the trunk. Also, note that rather than saying "patch by X", you should make the ChangeLog entry in X's name. ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: [PATCH] Allow using C-w (bookmark-yank-word) when bookmarking from a gnus article buffer. 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto ` (2 preceding siblings ...) 2010-07-13 23:30 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Glenn Morris @ 2010-07-14 19:48 ` Thierry Volpiatto 3 siblings, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-14 19:48 UTC (permalink / raw) To: bug-gnu-emacs Hi Karl, Karl Fogel <kfogel@red-bean.com> writes: > I've committed the C-w patch to trunk. I examined it and tested it, and > it seems to work fine here. Please check it over to make sure! Thanks for your work for commiting patch, i am very happy you separate patchs (e.g without C-w, with C-w etc..), that's very clear for further look. Just tested now and work fine.:-) -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 21:31 ` Karl Fogel 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto @ 2010-07-13 21:41 ` Karl Fogel 2010-07-13 21:41 ` Karl Fogel ` (2 subsequent siblings) 4 siblings, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-13 21:41 UTC (permalink / raw) To: emacs-devel; +Cc: 5975, Thierry Volpiatto Karl Fogel <kfogel@red-bean.com> writes: >Just for reference, the current (preparatory) patch is below. I will >follow up separately with the gnus/* patch, so it's in the archives. Here's that patch (still needs the C-w fix referred to in the bug, though). === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-07-13 21:20:34 +0000 +++ lisp/gnus/ChangeLog 2010-07-13 21:39:19 +0000 @@ -1,5 +1,16 @@ 2010-07-13 Karl Fogel <kfogel@red-bean.com> + Allow bookmarks to be set from Gnus Article buffers. + Based on a patch by Thierry Volpiatto (Bug #5975). + + * gnus-art.el (bookmark-make-record-function): New local variable. + + * gnus-sum.el (gnus-summary-bookmark-make-record): Allow setting + from article buffer. + (gnus-summary-bookmark-jump): Maybe jump to article buffer. + +2010-07-13 Karl Fogel <kfogel@red-bean.com> + * gnus/gnus-sum.el (bookmark-make-record-default): Adjust declaration, based on changes in bookmark.el. === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2010-06-10 05:33:55 +0000 +++ lisp/gnus/gnus-art.el 2010-07-13 21:39:19 +0000 @@ -4452,6 +4452,8 @@ (make-local-variable 'gnus-article-image-alist) (make-local-variable 'gnus-article-charset) (make-local-variable 'gnus-article-ignored-charsets) + (set (make-local-variable 'bookmark-make-record-function) + 'gnus-summary-bookmark-make-record) ;; Prevent Emacs 22 from displaying non-break space with `nobreak-space' ;; face. (set (make-local-variable 'nobreak-char-display) nil) === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2010-07-13 21:20:34 +0000 +++ lisp/gnus/gnus-sum.el 2010-07-13 21:39:19 +0000 @@ -12629,18 +12629,24 @@ (defun gnus-summary-bookmark-make-record () "Make a bookmark entry for a Gnus summary buffer." - (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) - (error "Please retry from the Gnus summary buffer")) ;[1] - (let* ((subject (elt (gnus-summary-article-header) 1)) - (grp (car gnus-article-current)) - (art (cdr gnus-article-current)) - (head (gnus-summary-article-header art)) - (id (mail-header-id head))) - `(,subject - ,@(bookmark-make-record-default 'point-only) - (location . ,(format "Gnus %s:%d:%s" grp art id)) - (group . ,grp) (article . ,art) - (message-id . ,id) (handler . gnus-summary-bookmark-jump)))) + (let (pos buf) + (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) + (save-restriction ; FIXME is it necessary to widen? + (widen) (setq pos (point))) ; Set position in gnus-article buffer. + (setq buf "art") ; We are recording bookmark from article buffer. + (gnus-article-show-summary)) ; Go back in summary buffer. + ;; We are now recording bookmark from summary buffer. + (unless buf (setq buf "sum")) + (let* ((subject (elt (gnus-summary-article-header) 1)) + (grp (car gnus-article-current)) + (art (cdr gnus-article-current)) + (head (gnus-summary-article-header art)) + (id (mail-header-id head))) + `(,subject + ,@(bookmark-make-record-default 'no-file 'no-context pos) + (location . ,(format "Gnus-%s %s:%d:%s" buf grp art id)) + (group . ,grp) (article . ,art) + (message-id . ,id) (handler . gnus-summary-bookmark-jump))))) ;;;###autoload (defun gnus-summary-bookmark-jump (bookmark) @@ -12648,10 +12654,18 @@ BOOKMARK is a bookmark name or a bookmark record." (let ((group (bookmark-prop-get bookmark 'group)) (article (bookmark-prop-get bookmark 'article)) - (id (bookmark-prop-get bookmark 'message-id))) + (id (bookmark-prop-get bookmark 'message-id)) + (buf (car (split-string (bookmark-prop-get bookmark 'location))))) (gnus-fetch-group group (list article)) (gnus-summary-insert-cached-articles) (gnus-summary-goto-article id nil 'force) + ;; FIXME we have to wait article buffer is ready (only large buffer) + ;; Is there a better solution to know that? + ;; If we don't wait `bookmark-default-handler' will have no chance + ;; to set position. However there is no error, just wrong pos. + (sit-for 1) + (when (string= buf "Gnus-art") + (other-window 1)) (bookmark-default-handler `("" (buffer . ,(current-buffer)) ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 21:31 ` Karl Fogel 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto 2010-07-13 21:41 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Karl Fogel @ 2010-07-13 21:41 ` Karl Fogel 2010-07-14 8:29 ` Thierry Volpiatto 2010-07-13 23:30 ` Glenn Morris 2010-07-14 5:03 ` Thierry Volpiatto 4 siblings, 1 reply; 78+ messages in thread From: Karl Fogel @ 2010-07-13 21:41 UTC (permalink / raw) To: emacs-devel; +Cc: 5975, Thierry Volpiatto Karl Fogel <kfogel@red-bean.com> writes: >Just for reference, the current (preparatory) patch is below. I will >follow up separately with the gnus/* patch, so it's in the archives. Here's that patch (still needs the C-w fix referred to in the bug, though). === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-07-13 21:20:34 +0000 +++ lisp/gnus/ChangeLog 2010-07-13 21:39:19 +0000 @@ -1,5 +1,16 @@ 2010-07-13 Karl Fogel <kfogel@red-bean.com> + Allow bookmarks to be set from Gnus Article buffers. + Based on a patch by Thierry Volpiatto (Bug #5975). + + * gnus-art.el (bookmark-make-record-function): New local variable. + + * gnus-sum.el (gnus-summary-bookmark-make-record): Allow setting + from article buffer. + (gnus-summary-bookmark-jump): Maybe jump to article buffer. + +2010-07-13 Karl Fogel <kfogel@red-bean.com> + * gnus/gnus-sum.el (bookmark-make-record-default): Adjust declaration, based on changes in bookmark.el. === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2010-06-10 05:33:55 +0000 +++ lisp/gnus/gnus-art.el 2010-07-13 21:39:19 +0000 @@ -4452,6 +4452,8 @@ (make-local-variable 'gnus-article-image-alist) (make-local-variable 'gnus-article-charset) (make-local-variable 'gnus-article-ignored-charsets) + (set (make-local-variable 'bookmark-make-record-function) + 'gnus-summary-bookmark-make-record) ;; Prevent Emacs 22 from displaying non-break space with `nobreak-space' ;; face. (set (make-local-variable 'nobreak-char-display) nil) === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2010-07-13 21:20:34 +0000 +++ lisp/gnus/gnus-sum.el 2010-07-13 21:39:19 +0000 @@ -12629,18 +12629,24 @@ (defun gnus-summary-bookmark-make-record () "Make a bookmark entry for a Gnus summary buffer." - (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) - (error "Please retry from the Gnus summary buffer")) ;[1] - (let* ((subject (elt (gnus-summary-article-header) 1)) - (grp (car gnus-article-current)) - (art (cdr gnus-article-current)) - (head (gnus-summary-article-header art)) - (id (mail-header-id head))) - `(,subject - ,@(bookmark-make-record-default 'point-only) - (location . ,(format "Gnus %s:%d:%s" grp art id)) - (group . ,grp) (article . ,art) - (message-id . ,id) (handler . gnus-summary-bookmark-jump)))) + (let (pos buf) + (unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current) + (save-restriction ; FIXME is it necessary to widen? + (widen) (setq pos (point))) ; Set position in gnus-article buffer. + (setq buf "art") ; We are recording bookmark from article buffer. + (gnus-article-show-summary)) ; Go back in summary buffer. + ;; We are now recording bookmark from summary buffer. + (unless buf (setq buf "sum")) + (let* ((subject (elt (gnus-summary-article-header) 1)) + (grp (car gnus-article-current)) + (art (cdr gnus-article-current)) + (head (gnus-summary-article-header art)) + (id (mail-header-id head))) + `(,subject + ,@(bookmark-make-record-default 'no-file 'no-context pos) + (location . ,(format "Gnus-%s %s:%d:%s" buf grp art id)) + (group . ,grp) (article . ,art) + (message-id . ,id) (handler . gnus-summary-bookmark-jump))))) ;;;###autoload (defun gnus-summary-bookmark-jump (bookmark) @@ -12648,10 +12654,18 @@ BOOKMARK is a bookmark name or a bookmark record." (let ((group (bookmark-prop-get bookmark 'group)) (article (bookmark-prop-get bookmark 'article)) - (id (bookmark-prop-get bookmark 'message-id))) + (id (bookmark-prop-get bookmark 'message-id)) + (buf (car (split-string (bookmark-prop-get bookmark 'location))))) (gnus-fetch-group group (list article)) (gnus-summary-insert-cached-articles) (gnus-summary-goto-article id nil 'force) + ;; FIXME we have to wait article buffer is ready (only large buffer) + ;; Is there a better solution to know that? + ;; If we don't wait `bookmark-default-handler' will have no chance + ;; to set position. However there is no error, just wrong pos. + (sit-for 1) + (when (string= buf "Gnus-art") + (other-window 1)) (bookmark-default-handler `("" (buffer . ,(current-buffer)) ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 21:41 ` Karl Fogel @ 2010-07-14 8:29 ` Thierry Volpiatto 2010-07-14 8:37 ` Eli Zaretskii 2010-07-14 15:32 ` Karl Fogel 0 siblings, 2 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-14 8:29 UTC (permalink / raw) To: emacs-devel Karl Fogel <kfogel@red-bean.com> writes: > Karl Fogel <kfogel@red-bean.com> writes: >>Just for reference, the current (preparatory) patch is below. I will >>follow up separately with the gnus/* patch, so it's in the archives. > > Here's that patch (still needs the C-w fix referred to in the bug, though). BTW, generally for all contributors patchs: if patch WORK and is basically correct and is accepted of course, why not applying patch as it is and modifying as Emacs developpers like in one or more little other commits. Actually: - contributor send patch - patch is accepted and applyied after modification by Emacs developers. Instead: - Apply contributor patch as it is (if more or less correct and working of course) - Make changes you like in other commits. Like that complete track of what have been done is kept. -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 8:29 ` Thierry Volpiatto @ 2010-07-14 8:37 ` Eli Zaretskii 2010-07-14 9:06 ` Thierry Volpiatto 2010-07-14 15:32 ` Karl Fogel 1 sibling, 1 reply; 78+ messages in thread From: Eli Zaretskii @ 2010-07-14 8:37 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: emacs-devel > From: Thierry Volpiatto <thierry.volpiatto@gmail.com> > Date: Wed, 14 Jul 2010 10:29:11 +0200 > > if patch WORK and is basically correct and is accepted of course, why > not applying patch as it is and modifying as Emacs developpers like in > one or more little other commits. Because there's a pedagogical value for the contributors in having them fix their code according to review comments. In general, you learn better what you do yourself, rather than watching others do it for you. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 8:37 ` Eli Zaretskii @ 2010-07-14 9:06 ` Thierry Volpiatto 2010-07-14 9:42 ` Eli Zaretskii 0 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-14 9:06 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Thierry Volpiatto <thierry.volpiatto@gmail.com> >> Date: Wed, 14 Jul 2010 10:29:11 +0200 >> >> if patch WORK and is basically correct and is accepted of course, why >> not applying patch as it is and modifying as Emacs developpers like in >> one or more little other commits. > > Because there's a pedagogical value for the contributors in having > them fix their code according to review comments. That's the case where contributor modify himself the code according to diverse comments. I agree. But i am speaking of the case where contributor's code is modified by Emacs developers, in this case it is better (IMHO) to commit over the initial patch, specially if Emacs developer misunderstand some part of code and make wrong changes (That's not the case here Karl ;-)) it is easier to find whats wrong instead of long discussion. Generally contributor need to all rewrite, sometime long time further. That is extra work for contributor and also Emacs developer. > In general, you learn better what you do yourself, rather than > watching others do it for you. Yes i agree completely. -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 9:06 ` Thierry Volpiatto @ 2010-07-14 9:42 ` Eli Zaretskii 2010-07-14 10:07 ` Thierry Volpiatto 0 siblings, 1 reply; 78+ messages in thread From: Eli Zaretskii @ 2010-07-14 9:42 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: emacs-devel > From: Thierry Volpiatto <thierry.volpiatto@gmail.com> > Cc: emacs-devel@gnu.org > Date: Wed, 14 Jul 2010 11:06:13 +0200 > > But i am speaking of the case where contributor's code is modified by Emacs > developers Do you have examples? I think this is done only rarely, and only when the patch is very small. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 9:42 ` Eli Zaretskii @ 2010-07-14 10:07 ` Thierry Volpiatto 2010-07-14 10:18 ` Eli Zaretskii 0 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-14 10:07 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Thierry Volpiatto <thierry.volpiatto@gmail.com> >> Cc: emacs-devel@gnu.org >> Date: Wed, 14 Jul 2010 11:06:13 +0200 >> >> But i am speaking of the case where contributor's code is modified by Emacs >> developers > > Do you have examples? I think this is done only rarely, and only when > the patch is very small. Most of my patchs including the last. See all integration of bookmarking from Gnus/Woman/Man. See also the M-g s command in bookmark. It change nothing at the end but we can see in changelog all differents steps easily, with quick reference to precedents patchs, that is great help for emacs developers to eventually debug later if needed. -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 10:07 ` Thierry Volpiatto @ 2010-07-14 10:18 ` Eli Zaretskii 2010-07-14 10:57 ` Thierry Volpiatto 0 siblings, 1 reply; 78+ messages in thread From: Eli Zaretskii @ 2010-07-14 10:18 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: emacs-devel > From: Thierry Volpiatto <thierry.volpiatto@gmail.com> > Cc: emacs-devel@gnu.org > Date: Wed, 14 Jul 2010 12:07:50 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> From: Thierry Volpiatto <thierry.volpiatto@gmail.com> > >> Cc: emacs-devel@gnu.org > >> Date: Wed, 14 Jul 2010 11:06:13 +0200 > >> > >> But i am speaking of the case where contributor's code is modified by Emacs > >> developers > > > > Do you have examples? I think this is done only rarely, and only when > > the patch is very small. > > Most of my patchs including the last. > See all integration of bookmarking from Gnus/Woman/Man. > See also the M-g s command in bookmark. I don't know where to look in order "to see". Can you show the patch you submitted for Woman and `man' and point to a revno where its modified version actually went in? ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 10:18 ` Eli Zaretskii @ 2010-07-14 10:57 ` Thierry Volpiatto 0 siblings, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-14 10:57 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Thierry Volpiatto <thierry.volpiatto@gmail.com> >> Cc: emacs-devel@gnu.org >> Date: Wed, 14 Jul 2010 12:07:50 +0200 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> >> From: Thierry Volpiatto <thierry.volpiatto@gmail.com> >> >> Cc: emacs-devel@gnu.org >> >> Date: Wed, 14 Jul 2010 11:06:13 +0200 >> >> >> >> But i am speaking of the case where contributor's code is modified by Emacs >> >> developers >> > >> > Do you have examples? I think this is done only rarely, and only when >> > the patch is very small. >> >> Most of my patchs including the last. >> See all integration of bookmarking from Gnus/Woman/Man. >> See also the M-g s command in bookmark. > > I don't know where to look in order "to see". Can you show the patch > you submitted for Woman and `man' and point to a revno where its > modified version actually went in? I think i am wrong for these patchs as i can retrieve initial changes i made, and then the Stefan's modifications. So apparently things have been done like i said by stefan: Commit change of contributor and then commit differents changes on top of this patch: (Sorry i have not bzr, i search faster with hg) ,---- | changeset: 107919:c022e0b360db | user: Stefan Monnier <monnier@iro.umontreal.ca> | date: Wed Apr 14 11:07:53 2010 -0400 | summary: Add a new field `location' to bookmarks for non-file bookmarks. | | changeset: 107904:1cd2a7cffe3a | user: Stefan Monnier <monnier@iro.umontreal.ca> | date: Mon Apr 12 15:12:36 2010 -0400 | summary: * bookmark.el (bookmark-insert-location): Handle a nil filename. | | changeset: 107902:0cafb6c11cbc | user: Stefan Monnier <monnier@iro.umontreal.ca> | date: Mon Apr 12 12:09:47 2010 -0400 | summary: Clean up last bookmark changes for man/woman/gnus-summary. | | changeset: 107901:fd86e7cd598a | user: Thierry Volpiatto <thierry.volpiatto@gmail.com> | date: Mon Apr 12 11:17:29 2010 -0400 | summary: Summary: Add bookmark support for man, woman and gnus-summary. `---- ,---- | changeset: 105941:1225b620227b | user: Stefan Monnier <monnier@iro.umontreal.ca> | date: Fri Nov 20 15:47:26 2009 +0000 | summary: * bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options. `---- I remember changes have been done in one of my initial patchs but can't remember which one is it. -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 8:29 ` Thierry Volpiatto 2010-07-14 8:37 ` Eli Zaretskii @ 2010-07-14 15:32 ` Karl Fogel 1 sibling, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-14 15:32 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >Karl Fogel <kfogel@red-bean.com> writes: >> Karl Fogel <kfogel@red-bean.com> writes: >>>Just for reference, the current (preparatory) patch is below. I will >>>follow up separately with the gnus/* patch, so it's in the archives. >> >> Here's that patch (still needs the C-w fix referred to in the bug, though). > >BTW, generally for all contributors patchs: > >if patch WORK and is basically correct and is accepted of course, why >not applying patch as it is and modifying as Emacs developpers like in >one or more little other commits. Yes. The only reason I delayed was because I wasn't sure about making those non-trivial modifications to Gnus. However, no one has said it's a problem, and the files are in our tree -- I guess I'll commit the next patches, and then we'll fix the C-w problem afterwards. -Karl ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 21:31 ` Karl Fogel ` (2 preceding siblings ...) 2010-07-13 21:41 ` Karl Fogel @ 2010-07-13 23:30 ` Glenn Morris 2010-07-14 0:33 ` bug#5975: " Karl Fogel ` (3 more replies) 2010-07-14 5:03 ` Thierry Volpiatto 4 siblings, 4 replies; 78+ messages in thread From: Glenn Morris @ 2010-07-13 23:30 UTC (permalink / raw) To: Karl Fogel; +Cc: Thierry Volpiatto, 5975, emacs-devel Karl Fogel wrote: > I'm not sure where to apply this. Do you think it (for any value of "it") is safe for Emacs 23.3? Is it very unlikely to introduce a regression with respect to Emacs 23.2? If so, apply "it" only to the emacs-23 branch. It will get merged to the trunk at some point. If not, or if you aren't sure, or think it needs more testing, apply "it" to the trunk. Also, note that rather than saying "patch by X", you should make the ChangeLog entry in X's name. ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 23:30 ` Glenn Morris @ 2010-07-14 0:33 ` Karl Fogel 2010-07-14 0:33 ` Karl Fogel ` (2 subsequent siblings) 3 siblings, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-14 0:33 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel, 5975, Thierry Volpiatto Glenn Morris <rgm@gnu.org> writes: >> I'm not sure where to apply this. > >Do you think it (for any value of "it") is safe for Emacs 23.3? >Is it very unlikely to introduce a regression with respect to Emacs 23.2? > >If so, apply "it" only to the emacs-23 branch. It will get merged to >the trunk at some point. > >If not, or if you aren't sure, or think it needs more testing, apply >"it" to the trunk. My goal is to get stuff into whatever line of Emacs will be a permanent part of all future major release lines (not necessarily including minor or "point" releases along an already-released line). Usually trunk serves this purpose, and my assumption had been that trunk is always a safe place for a change (where as X.Y branch *might* be a safe place). But I admit, I'm not really sure how we do this. Is there policy documentation somewhere on it? I looked on the project pages and in the tree and didn't see anything obvious. (etc/CONTRIBUTE isn't quite it.) >Also, note that rather than saying "patch by X", you should make the >ChangeLog entry in X's name. Thanks for the reminder! I can fix the ChangeLogs to be that way. (It should be both of us, really; I've seen that style before.) -Karl ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 23:30 ` Glenn Morris 2010-07-14 0:33 ` bug#5975: " Karl Fogel @ 2010-07-14 0:33 ` Karl Fogel 2010-07-14 8:55 ` bug#5975: " Andreas Schwab 2010-07-14 8:55 ` Andreas Schwab 3 siblings, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-14 0:33 UTC (permalink / raw) To: Glenn Morris; +Cc: Thierry Volpiatto, 5975, emacs-devel Glenn Morris <rgm@gnu.org> writes: >> I'm not sure where to apply this. > >Do you think it (for any value of "it") is safe for Emacs 23.3? >Is it very unlikely to introduce a regression with respect to Emacs 23.2? > >If so, apply "it" only to the emacs-23 branch. It will get merged to >the trunk at some point. > >If not, or if you aren't sure, or think it needs more testing, apply >"it" to the trunk. My goal is to get stuff into whatever line of Emacs will be a permanent part of all future major release lines (not necessarily including minor or "point" releases along an already-released line). Usually trunk serves this purpose, and my assumption had been that trunk is always a safe place for a change (where as X.Y branch *might* be a safe place). But I admit, I'm not really sure how we do this. Is there policy documentation somewhere on it? I looked on the project pages and in the tree and didn't see anything obvious. (etc/CONTRIBUTE isn't quite it.) >Also, note that rather than saying "patch by X", you should make the >ChangeLog entry in X's name. Thanks for the reminder! I can fix the ChangeLogs to be that way. (It should be both of us, really; I've seen that style before.) -Karl ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 23:30 ` Glenn Morris 2010-07-14 0:33 ` bug#5975: " Karl Fogel 2010-07-14 0:33 ` Karl Fogel @ 2010-07-14 8:55 ` Andreas Schwab 2010-07-14 8:55 ` Andreas Schwab 3 siblings, 0 replies; 78+ messages in thread From: Andreas Schwab @ 2010-07-14 8:55 UTC (permalink / raw) To: Glenn Morris; +Cc: Karl Fogel, Thierry Volpiatto, 5975, emacs-devel Glenn Morris <rgm@gnu.org> writes: > Also, note that rather than saying "patch by X", you should make the > ChangeLog entry in X's name. And also the author of the commit. 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." ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 23:30 ` Glenn Morris ` (2 preceding siblings ...) 2010-07-14 8:55 ` bug#5975: " Andreas Schwab @ 2010-07-14 8:55 ` Andreas Schwab 2010-07-14 15:29 ` bug#5975: " Karl Fogel 2010-07-14 15:29 ` Karl Fogel 3 siblings, 2 replies; 78+ messages in thread From: Andreas Schwab @ 2010-07-14 8:55 UTC (permalink / raw) To: Glenn Morris; +Cc: Karl Fogel, emacs-devel, 5975, Thierry Volpiatto Glenn Morris <rgm@gnu.org> writes: > Also, note that rather than saying "patch by X", you should make the > ChangeLog entry in X's name. And also the author of the commit. 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." ^ permalink raw reply [flat|nested] 78+ messages in thread
* bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 8:55 ` Andreas Schwab @ 2010-07-14 15:29 ` Karl Fogel 2010-07-14 15:29 ` Karl Fogel 1 sibling, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-14 15:29 UTC (permalink / raw) To: Andreas Schwab; +Cc: Thierry Volpiatto, 5975, emacs-devel Andreas Schwab <schwab@linux-m68k.org> writes: >Glenn Morris <rgm@gnu.org> writes: >> Also, note that rather than saying "patch by X", you should make the >> ChangeLog entry in X's name. > >And also the author of the commit. You mean with 'bzr commit --author' ? ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 8:55 ` Andreas Schwab 2010-07-14 15:29 ` bug#5975: " Karl Fogel @ 2010-07-14 15:29 ` Karl Fogel 1 sibling, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-14 15:29 UTC (permalink / raw) To: Andreas Schwab; +Cc: emacs-devel, 5975, Thierry Volpiatto Andreas Schwab <schwab@linux-m68k.org> writes: >Glenn Morris <rgm@gnu.org> writes: >> Also, note that rather than saying "patch by X", you should make the >> ChangeLog entry in X's name. > >And also the author of the commit. You mean with 'bzr commit --author' ? ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-13 21:31 ` Karl Fogel ` (3 preceding siblings ...) 2010-07-13 23:30 ` Glenn Morris @ 2010-07-14 5:03 ` Thierry Volpiatto 2010-07-14 16:06 ` Karl Fogel 4 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-14 5:03 UTC (permalink / raw) To: emacs-devel Hi Karl, Karl Fogel <kfogel@red-bean.com> writes: > I have a branch that prepares the way for setting bookmarks in Gnus > Article buffers, based on Thierry's patch in bug #5975. > > I'm not sure where to apply this. Is pushing changes to trunk is okay > right now? Starting from [1] and [2], I didn't find any notice that we > are in feature freeze, but I'm pretty sure last time I pushed it turned > out to be a mistake and that I should not have pushed to trunk. > > Independently of the above, Thierry, note I made some changes to your > patch. You used (or kept) parameter names `point-only' and > `read-only'; kept: point-only added: read-only > I changed those to `no-file' and `no-context', to describe what they are Yes nice these names are better. > actually doing (whether the buffer is read-only or not is irrelevant to > whether one wants the front/rear context strings in bookmark record). I > also fixed up the doc string to mention your new POSN parameter, which I > moved to the end of the parameter list. (Don't worry, I will adjust the > gnus-sum.el patch as needed when the time comes.) > > I have not (yet) included your changes to gnus/gnus-art.el and > gnus/gnus-sum.el, which finish the new functionality. Two reasons: > > 1. You said in the bug that you fixed C-w later. Could you provide > that patch, please? I sent the patch at the time that provide this feature, but it seem it had been lost. I have merged this feature in bookmark-extensions.el and it work fine since long time now. I will try to retrieve the patch for Emacs, if i don't retrieve it, it would be good you commit the changes without the C-w feature and i will create a patch that apply on top of this.(I really don't remember yet what i changed to make that working, need to check my logs and bookmark-extensions.el) > 2. I'm not sure whether it's okay to commit significant code changes > under gnus/, since the master is maintained outside the Emacs tree. Can't tell you for gnus, i am not aware of the procedure you use in Emacs for developping Emacs<==>Gnus. > If it is okay, then I am happy to apply your change (plus the C-w > fix). I did test it, and it worked, except for C-w of course. All is working fine here since long time now, C-w included. > Anyone who has comments or answers re the above, please chime in. > > Just for reference, the current (preparatory) patch is below. I will > follow up separately with the gnus/* patch, so it's in the archives. > > Thanks for the patch, Thierry. We're getting close. > > -Karl > > [1] http://www.gnu.org/software/emacs/ > [2] http://savannah.gnu.org/projects/emacs > > === modified file 'lisp/ChangeLog' > --- lisp/ChangeLog 2010-07-13 10:41:49 +0000 > +++ lisp/ChangeLog 2010-07-13 21:19:42 +0000 > @@ -1,3 +1,26 @@ > +2010-07-13 Karl Fogel <kfogel@red-bean.com> > + > + Prepare the way for setting bookmarks in Gnus article buffers. > + > + * lisp/bookmark.el (bookmark-make-record-default): Allow unneeded > + information to be omitted from the record. Based on part of a > + patch by Thierry Volpiatto (Bug#5975). > + > + Adjust declarations and calls: > + > + * info.el (bookmark-make-record-default): Adjust declaration. > + (Info-bookmark-make-record): Adjust call. > + > + * woman.el (bookmark-make-record-default): Adjust declaration. > + (woman-bookmark-make-record): Adjust call. > + > + * man.el (bookmark-make-record-default): Adjust declaration. > + (Man-bookmark-make-record): Adjust call. > + > + * image-mode.el (bookmark-make-record-default): Adjust declaration. > + > + * doc-view.el (bookmark-make-record-default): Adjust declaration. > + > 2010-07-13 Adrian Robert <Adrian.B.Robert@gmail.com> > > * term/ns-win.el: Bind M-~ to 'ns-prev-frame (due to Matthew > > === modified file 'lisp/bookmark.el' > --- lisp/bookmark.el 2010-07-10 18:52:53 +0000 > +++ lisp/bookmark.el 2010-07-13 21:19:42 +0000 > @@ -528,26 +528,36 @@ > (setq bookmark-current-bookmark stripped-name) > (bookmark-bmenu-surreptitiously-rebuild-list))) > > -(defun bookmark-make-record-default (&optional point-only) > +(defun bookmark-make-record-default (&optional no-file no-context posn) > "Return the record describing the location of a new bookmark. > -Must be at the correct position in the buffer in which the bookmark is > -being set. > -If POINT-ONLY is non-nil, then only return the subset of the > -record that pertains to the location within the buffer." > - `(,@(unless point-only `((filename . ,(bookmark-buffer-file-name)))) > - (front-context-string > - . ,(if (>= (- (point-max) (point)) bookmark-search-size) > - (buffer-substring-no-properties > - (point) > - (+ (point) bookmark-search-size)) > - nil)) > - (rear-context-string > - . ,(if (>= (- (point) (point-min)) bookmark-search-size) > - (buffer-substring-no-properties > - (point) > - (- (point) bookmark-search-size)) > - nil)) > - (position . ,(point)))) > +Point should be at the buffer in which the bookmark is being set, > +and normally should be at the position where the bookmark is desired, > +but see the optional arguments for other possibilities. > + > +If NO-FILE is non-nil, then only return the subset of the > +record that pertains to the location within the buffer, leaving off > +the part that records the filename. > + > +If NO-CONTEXT is non-nil, do not include the front- and rear-context > +strings in the record -- the position is enough. > + > +If POSN is non-nil, record POSN as the point instead of `(point)'." > + `(,@(unless no-file `((filename . ,(bookmark-buffer-file-name)))) > + ,@(unless no-context `((front-context-string > + . ,(if (>= (- (point-max) (point)) > + bookmark-search-size) > + (buffer-substring-no-properties > + (point) > + (+ (point) bookmark-search-size)) > + nil)))) > + ,@(unless no-context `((rear-context-string > + . ,(if (>= (- (point) (point-min)) > + bookmark-search-size) > + (buffer-substring-no-properties > + (point) > + (- (point) bookmark-search-size)) > + nil)))) > + (position . ,(or posn (point))))) > > \f > ;;; File format stuff > > === modified file 'lisp/doc-view.el' > --- lisp/doc-view.el 2010-02-16 14:35:45 +0000 > +++ lisp/doc-view.el 2010-07-13 21:19:42 +0000 > @@ -1349,8 +1349,8 @@ > > ;;;; Bookmark integration > > -(declare-function bookmark-make-record-default "bookmark" > - (&optional point-only)) > +(declare-function bookmark-make-record-default > + "bookmark" (&optional no-file no-context posn)) > (declare-function bookmark-prop-get "bookmark" (bookmark prop)) > (declare-function bookmark-default-handler "bookmark" (bmk)) > > > === modified file 'lisp/gnus/ChangeLog' > --- lisp/gnus/ChangeLog 2010-06-22 16:48:53 +0000 > +++ lisp/gnus/ChangeLog 2010-07-13 21:19:42 +0000 > @@ -1,3 +1,8 @@ > +2010-07-13 Karl Fogel <kfogel@red-bean.com> > + > + * gnus/gnus-sum.el (bookmark-make-record-default): Adjust > + declaration, based on changes in bookmark.el. > + > 2010-06-22 Mark A. Hershberger <mah@everybody.org> > > * mm-url.el (mm-url-encode-multipart-form-data): New function to handle > > === modified file 'lisp/gnus/gnus-sum.el' > --- lisp/gnus/gnus-sum.el 2010-06-10 00:30:13 +0000 > +++ lisp/gnus/gnus-sum.el 2010-07-13 21:19:42 +0000 > @@ -12621,7 +12621,8 @@ > (gnus-summary-position-point))) > > ;;; Bookmark support for Gnus. > -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) > +(declare-function bookmark-make-record-default > + "bookmark" (&optional no-file no-context posn)) > (declare-function bookmark-prop-get "bookmark" (bookmark prop)) > (declare-function bookmark-default-handler "bookmark" (bmk)) > (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) > > === modified file 'lisp/image-mode.el' > --- lisp/image-mode.el 2010-06-14 03:19:46 +0000 > +++ lisp/image-mode.el 2010-07-13 21:19:42 +0000 > @@ -516,8 +516,8 @@ > > \f > ;;; Support for bookmark.el > -(declare-function bookmark-make-record-default "bookmark" > - (&optional point-only)) > +(declare-function bookmark-make-record-default > + "bookmark" (&optional no-file no-context posn)) > (declare-function bookmark-prop-get "bookmark" (bookmark prop)) > (declare-function bookmark-default-handler "bookmark" (bmk)) > > > === modified file 'lisp/info.el' > --- lisp/info.el 2010-06-17 20:56:17 +0000 > +++ lisp/info.el 2010-07-13 21:19:42 +0000 > @@ -4901,7 +4901,8 @@ > '(Info-mode . Info-restore-desktop-buffer)) > > ;;;; Bookmark support > -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) > +(declare-function bookmark-make-record-default > + "bookmark" (&optional no-file no-context posn)) > (declare-function bookmark-prop-get "bookmark" (bookmark prop)) > (declare-function bookmark-default-handler "bookmark" (bmk)) > (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) > @@ -4910,7 +4911,7 @@ > "This implements the `bookmark-make-record-function' type (which see) > for Info nodes." > `(,Info-current-node > - ,@(bookmark-make-record-default 'point-only) > + ,@(bookmark-make-record-default 'no-file) > (filename . ,Info-current-file) > (info-node . ,Info-current-node) > (handler . Info-bookmark-jump))) > > === modified file 'lisp/man.el' > --- lisp/man.el 2010-06-01 02:34:49 +0000 > +++ lisp/man.el 2010-07-13 21:19:42 +0000 > @@ -1674,7 +1674,8 @@ > complete-path)) > > ;;; Bookmark Man Support > -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) > +(declare-function bookmark-make-record-default > + "bookmark" (&optional no-file no-context posn)) > (declare-function bookmark-prop-get "bookmark" (bookmark prop)) > (declare-function bookmark-default-handler "bookmark" (bmk)) > (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) > @@ -1691,7 +1692,7 @@ > (defun Man-bookmark-make-record () > "Make a bookmark entry for a Man buffer." > `(,(Man-default-bookmark-title) > - ,@(bookmark-make-record-default 'point-only) > + ,@(bookmark-make-record-default 'no-file) > (location . ,(concat "man " Man-arguments)) > (man-args . ,Man-arguments) > (handler . Man-bookmark-jump))) > > === modified file 'lisp/woman.el' > --- lisp/woman.el 2010-05-25 02:11:08 +0000 > +++ lisp/woman.el 2010-07-13 21:19:42 +0000 > @@ -4521,7 +4521,8 @@ > nil) ; for woman-file-readable-p etc. > > ;;; Bookmark Woman support. > -(declare-function bookmark-make-record-default "bookmark" (&optional pos-only)) > +(declare-function bookmark-make-record-default > + "bookmark" (&optional no-file no-context posn)) > (declare-function bookmark-prop-get "bookmark" (bookmark prop)) > (declare-function bookmark-default-handler "bookmark" (bmk)) > (declare-function bookmark-get-bookmark-record "bookmark" (bmk)) > @@ -4532,7 +4533,7 @@ > (defun woman-bookmark-make-record () > "Make a bookmark entry for a Woman buffer." > `(,(Man-default-bookmark-title) > - ,@(bookmark-make-record-default 'point-only) > + ,@(bookmark-make-record-default 'no-file) > (location . ,(concat "woman " woman-last-file-name)) > ;; Use the same form as man's bookmarks, as much as possible. > (man-args . ,woman-last-file-name) > > > -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 5:03 ` Thierry Volpiatto @ 2010-07-14 16:06 ` Karl Fogel 2010-07-14 16:55 ` Karl Fogel 0 siblings, 1 reply; 78+ messages in thread From: Karl Fogel @ 2010-07-14 16:06 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >> patch. You used (or kept) parameter names `point-only' and >> `read-only'; > >kept: point-only >added: read-only Thanks (I was just writing tersely in my email). >> I changed those to `no-file' and `no-context', to describe what they are > >Yes nice these names are better. Glad you agree! >I will try to retrieve the patch for Emacs, if i don't retrieve it, it >would be good you commit the changes without the C-w feature and i will >create a patch that apply on top of this.(I really don't remember yet >what i changed to make that working, need to check my logs and >bookmark-extensions.el) I have committed the changes, including the changes to Gnus (see Bzr revs below). Please post the C-w patch and I will apply that too. Thanks! -Karl ------------------------------------------------------------ revno: 100820 revision-id: kfogel@red-bean.com-20100714160253-bbfda9e1g7myj1o8 parent: kfogel@red-bean.com-20100714155754-n3k71gay91l4vetv committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 12:02:53 -0400 message: Allow bookmarks to be set from Gnus Article buffers (Bug #5975). Patch applied (with minor tweaks) by Karl Fogel. Note this leaves C-w still not working correctly from Article buffers; Thierry's patch to fix that will be applied after this. * lisp/gnus/gnus-art.el (bookmark-make-record-function): New local variable. * lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record): Allow setting from article buffer. (gnus-summary-bookmark-jump): Maybe jump to article buffer. ------------------------------------------------------------ revno: 100819 revision-id: kfogel@red-bean.com-20100714155754-n3k71gay91l4vetv parent: kfogel@red-bean.com-20100714155426-vnlagemntoe30nu6 committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 11:57:54 -0400 message: Preparation for setting bookmarks in Gnus article buffers (Bug#5975). * lisp/bookmark.el (bookmark-make-record-default): Allow unneeded information to be omitted from the record. Adjust declarations and calls: * lisp/info.el (bookmark-make-record-default): Adjust declaration. (Info-bookmark-make-record): Adjust call. * lisp/woman.el (bookmark-make-record-default): Adjust declaration. (woman-bookmark-make-record): Adjust call. * lisp/man.el (bookmark-make-record-default): Adjust declaration. (Man-bookmark-make-record): Adjust call. * lisp/image-mode.el (bookmark-make-record-default): Adjust declaration. * lisp/doc-view.el (bookmark-make-record-default): Adjust declaration. * lisp/gnus/gnus-sum.el (bookmark-make-record-default): Adjust declaration. ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: Base patch for bug #5975 (bookmarking from Gnus Article buffer). 2010-07-14 16:06 ` Karl Fogel @ 2010-07-14 16:55 ` Karl Fogel 0 siblings, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-14 16:55 UTC (permalink / raw) To: emacs-devel Karl Fogel <kfogel@red-bean.com> writes: >I have committed the changes, including the changes to Gnus (see Bzr >revs below). Please post the C-w patch and I will apply that too. Just so people know: this happened. All relevant bzr revisions below. Thanks, Thierry, for making this feature work. -Karl ------------------------------------------------------------ revno: 100821 revision-id: kfogel@red-bean.com-20100714164140-v2fdq4b6r45zpxev parent: kfogel@red-bean.com-20100714160253-bbfda9e1g7myj1o8 author: Thierry Volpiatto <thierry.volpiatto@gmail.com> committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 12:41:40 -0400 message: Allow C-w when setting a bookmark in a Gnus Article buffer (Bug#5975). * lisp/bookmark.el (bookmark-set): Don't set `bookmark-yank-point' and `bookmark-current-buffer' if they have been already set in another buffer (e.g gnus-art). * lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record): Set `bookmark-yank-point' and `bookmark-current-buffer' to allow C-w. ------------------------------------------------------------ revno: 100820 revision-id: kfogel@red-bean.com-20100714160253-bbfda9e1g7myj1o8 parent: kfogel@red-bean.com-20100714155754-n3k71gay91l4vetv committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 12:02:53 -0400 message: Allow bookmarks to be set from Gnus Article buffers (Bug #5975). Patch applied (with minor tweaks) by Karl Fogel. Note this leaves C-w still not working correctly from Article buffers; Thierry's patch to fix that will be applied after this. * lisp/gnus/gnus-art.el (bookmark-make-record-function): New local variable. * lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record): Allow setting from article buffer. (gnus-summary-bookmark-jump): Maybe jump to article buffer. ------------------------------------------------------------ revno: 100819 revision-id: kfogel@red-bean.com-20100714155754-n3k71gay91l4vetv parent: kfogel@red-bean.com-20100714155426-vnlagemntoe30nu6 committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 11:57:54 -0400 message: Preparation for setting bookmarks in Gnus article buffers (Bug#5975). * lisp/bookmark.el (bookmark-make-record-default): Allow unneeded information to be omitted from the record. Adjust declarations and calls: * lisp/info.el (bookmark-make-record-default): Adjust declaration. (Info-bookmark-make-record): Adjust call. * lisp/woman.el (bookmark-make-record-default): Adjust declaration. (woman-bookmark-make-record): Adjust call. * lisp/man.el (bookmark-make-record-default): Adjust declaration. (Man-bookmark-make-record): Adjust call. * lisp/image-mode.el (bookmark-make-record-default): Adjust declaration. * lisp/doc-view.el (bookmark-make-record-default): Adjust declaration. * lisp/gnus/gnus-sum.el (bookmark-make-record-default): Adjust declaration. ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-29 12:43 No answer on bugs Thierry Volpiatto 2010-06-29 13:12 ` Lennart Borgman 2010-06-29 13:54 ` Karl Fogel @ 2010-06-30 18:16 ` Ted Zlatanov 2010-06-30 18:36 ` Thierry Volpiatto 2 siblings, 1 reply; 78+ messages in thread From: Ted Zlatanov @ 2010-06-30 18:16 UTC (permalink / raw) To: emacs-devel On Tue, 29 Jun 2010 14:43:09 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: TV> - Re: anything.el inclusion TV> No answer since long time, abandoned? Sorry if I missed something, but if you'll look at the thread: http://thread.gmane.org/gmane.emacs.devel/122139/focus=123121 you'll see that Stefan had some questions for you, and that a version of anything.el for inclusion in Emacs was never proposed by you, rubikitch, or any of the other anything.el/anything-config.el developers (AFAIK). But answering Stefan's questions about the anything.el behavior is probably the best first step. Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: No answer on bugs 2010-06-30 18:16 ` No answer on bugs Ted Zlatanov @ 2010-06-30 18:36 ` Thierry Volpiatto 2010-06-30 19:23 ` more on anything.el inclusion (was: No answer on bugs) Ted Zlatanov 0 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-06-30 18:36 UTC (permalink / raw) To: emacs-devel; +Cc: rubikitch Ted Zlatanov <tzz@lifelogs.com> writes: > On Tue, 29 Jun 2010 14:43:09 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: > > TV> - Re: anything.el inclusion > > TV> No answer since long time, abandoned? > > Sorry if I missed something, but if you'll look at the thread: > > http://thread.gmane.org/gmane.emacs.devel/122139/focus=123121 > > you'll see that Stefan had some questions for you, and that a version of > anything.el for inclusion in Emacs was never proposed by you, rubikitch, > or any of the other anything.el/anything-config.el developers (AFAIK). > But answering Stefan's questions about the anything.el behavior is > probably the best first step. I have already answered questions in private, but i have no more news. We did lot of work on anything since this time, anyone can see, try and use anything on http://repo.or.cz/w/anything-config.git If you like it, then we could include in emacs. -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* more on anything.el inclusion (was: No answer on bugs) 2010-06-30 18:36 ` Thierry Volpiatto @ 2010-06-30 19:23 ` Ted Zlatanov 2010-06-30 20:10 ` more on anything.el inclusion Thierry Volpiatto 0 siblings, 1 reply; 78+ messages in thread From: Ted Zlatanov @ 2010-06-30 19:23 UTC (permalink / raw) To: emacs-devel On Wed, 30 Jun 2010 20:36:31 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: TV> We did lot of work on anything since this time, anyone can see, try TV> and use anything on http://repo.or.cz/w/anything-config.git If you TV> like it, then we could include in emacs. Strangely, I can't check it out over HTTP: % git clone http://repo.or.cz/w/anything-config.git Initialized empty Git repository in /home/tzz/source/anything-config/.git/ warning: remote HEAD refers to nonexistent ref, unable to checkout. (and nice warning, the checkout fails completely!) but it works with the git://repo.or.cz/anything-config.git URL. I think the revision history should be cut out of anything.el. It's pretty hard for a novice to get started customizing the sources. There is almost no Customize support AFAICT for anything-sources. The existing anything.el docs assume good knowledge of Emacs Lisp. I don't know if that is a problem, but a real manual would be very helpful for beginners. What sources should be on by default for Emacs users of anything.el? I'm sure there are a lot of style and behavior issues I'm missing. I'm so used to anything.el that I'm probably not a good test case of how it looks to an Emacs user. Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-06-30 19:23 ` more on anything.el inclusion (was: No answer on bugs) Ted Zlatanov @ 2010-06-30 20:10 ` Thierry Volpiatto 2010-06-30 22:59 ` Dan Nicolaescu 0 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-06-30 20:10 UTC (permalink / raw) To: emacs-devel; +Cc: rubikitch Ted Zlatanov <tzz@lifelogs.com> writes: > On Wed, 30 Jun 2010 20:36:31 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: > > TV> We did lot of work on anything since this time, anyone can see, try > TV> and use anything on http://repo.or.cz/w/anything-config.git If you > TV> like it, then we could include in emacs. > > Strangely, I can't check it out over HTTP: > > % git clone http://repo.or.cz/w/anything-config.git > Initialized empty Git repository in /home/tzz/source/anything-config/.git/ > warning: remote HEAD refers to nonexistent ref, unable to checkout. > > (and nice warning, the checkout fails completely!) > but it works with the git://repo.or.cz/anything-config.git URL. Yes sorry, clone with: git clone git://repo.or.cz/anything-config.git > I think the revision history should be cut out of anything.el. > > It's pretty hard for a novice to get started customizing the sources. > There is almost no Customize support AFAICT for anything-sources. The > existing anything.el docs assume good knowledge of Emacs Lisp. I don't > know if that is a problem, but a real manual would be very helpful for > beginners. anything-sources is deprecated and should be used with care with only few sources, the one provided by default with anything.el are enough. So the use of M-x anything is deprecated, you should use now commands provided in anything-config.el. Setting up a function for commands not provided is simple as: (defun anything-buffers-only () (interactive) (anything-other-buffer 'anything-c-source-buffers+ "*anything buffers*")) Actually installing anything is easy and work out of the box with only: (require 'anything-config) (require 'anything-match-plugin) ; facultatif Anything is now self documented both in mode-line and with C-h m or your usual help command, but yes a manual would be nice. > What sources should be on by default for Emacs users of anything.el? Only the one that are already set in anything.el. > I'm sure there are a lot of style and behavior issues I'm missing. I'm > so used to anything.el that I'm probably not a good test case of how it > looks to an Emacs user. > > Ted > > > -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-06-30 20:10 ` more on anything.el inclusion Thierry Volpiatto @ 2010-06-30 22:59 ` Dan Nicolaescu 2010-07-01 5:53 ` Thierry Volpiatto 0 siblings, 1 reply; 78+ messages in thread From: Dan Nicolaescu @ 2010-06-30 22:59 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: rubikitch, emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > Ted Zlatanov <tzz@lifelogs.com> writes: > >> On Wed, 30 Jun 2010 20:36:31 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: >> >> TV> We did lot of work on anything since this time, anyone can see, try >> TV> and use anything on http://repo.or.cz/w/anything-config.git If you >> TV> like it, then we could include in emacs. >> >> Strangely, I can't check it out over HTTP: >> >> % git clone http://repo.or.cz/w/anything-config.git >> Initialized empty Git repository in /home/tzz/source/anything-config/.git/ >> warning: remote HEAD refers to nonexistent ref, unable to checkout. >> >> (and nice warning, the checkout fails completely!) > > >> but it works with the git://repo.or.cz/anything-config.git URL. > > Yes sorry, clone with: > git clone git://repo.or.cz/anything-config.git > >> I think the revision history should be cut out of anything.el. >> >> It's pretty hard for a novice to get started customizing the sources. >> There is almost no Customize support AFAICT for anything-sources. The >> existing anything.el docs assume good knowledge of Emacs Lisp. I don't >> know if that is a problem, but a real manual would be very helpful for >> beginners. > > anything-sources is deprecated and should be used with care with only > few sources, the one provided by default with anything.el are enough. > > So the use of M-x anything is deprecated, you should use now commands > provided in anything-config.el. > > Setting up a function for commands not provided is simple as: > > (defun anything-buffers-only () > (interactive) > (anything-other-buffer 'anything-c-source-buffers+ "*anything buffers*")) > > Actually installing anything is easy and work out of the box with only: > > (require 'anything-config) > (require 'anything-match-plugin) ; facultatif For packages included in emacs we try to avoid using require to activate the package. [I don't know anything about this particular package, so...] > Anything is now self documented both in mode-line and with C-h m or your > usual help command, but yes a manual would be nice. Can you please add some brief description of what it actually does? ;;;; anything.el --- open anything / QuickSilver-like candidate-selection framework does not tell much... > >> What sources should be on by default for Emacs users of anything.el? > > Only the one that are already set in anything.el. > > >> I'm sure there are a lot of style and behavior issues I'm missing. I'm >> so used to anything.el that I'm probably not a good test case of how it >> looks to an Emacs user. >> >> Ted >> >> >> > > -- > Thierry Volpiatto > Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-06-30 22:59 ` Dan Nicolaescu @ 2010-07-01 5:53 ` Thierry Volpiatto 2010-07-01 6:48 ` Dan Nicolaescu 0 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-01 5:53 UTC (permalink / raw) To: emacs-devel; +Cc: rubikitch Dan Nicolaescu <dann@gnu.org> writes: >> Actually installing anything is easy and work out of the box with only: >> >> (require 'anything-config) >> (require 'anything-match-plugin) ; facultatif > > For packages included in emacs we try to avoid using require to > activate the package. [I don't know anything about this particular > package, so...] A lot of autoload cookies are missing in anything-config, however, (autoload 'anything-find-files "anything-config.el" "" t) is enough to enable anything. > >> Anything is now self documented both in mode-line and with C-h m or your >> usual help command, but yes a manual would be nice. > > Can you please add some brief description of what it actually does? > > ;;;; anything.el --- open anything / QuickSilver-like candidate-selection framework > > does not tell much... anything is a framework that allow to setup an interactive and incremental display to select candidate and provide diverses actions on it or many of them. Basically, you can see that as a big completing-read, but incremental with nice display, and providing differents action on candidate selected in collection. -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 5:53 ` Thierry Volpiatto @ 2010-07-01 6:48 ` Dan Nicolaescu 2010-07-01 7:50 ` Thierry Volpiatto 2010-07-04 22:02 ` Stefan Monnier 0 siblings, 2 replies; 78+ messages in thread From: Dan Nicolaescu @ 2010-07-01 6:48 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: rubikitch, emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > Dan Nicolaescu <dann@gnu.org> writes: > >>> Actually installing anything is easy and work out of the box with only: >>> >>> (require 'anything-config) >>> (require 'anything-match-plugin) ; facultatif >> >> For packages included in emacs we try to avoid using require to >> activate the package. [I don't know anything about this particular >> package, so...] > > A lot of autoload cookies are missing in anything-config, however, > > (autoload 'anything-find-files "anything-config.el" "" t) > > is enough to enable anything. That's the same as using require. The preferred way is to do it with a function call, or a mode. >>> Anything is now self documented both in mode-line and with C-h m or your >>> usual help command, but yes a manual would be nice. >> >> Can you please add some brief description of what it actually does? >> >> ;;;; anything.el --- open anything / QuickSilver-like candidate-selection framework >> >> does not tell much... > > anything is a framework that allow to setup an interactive and > incremental display to select candidate and provide diverses actions on > it or many of them. > > Basically, you can see that as a big completing-read, but incremental > with nice display, and providing differents action on candidate selected > in collection. And how do you use it? BTW, this might be obvious to you, but for people that have not used the package is not. Adding a few lines of describing what it does and how to use it is very helpful. [Please note that this has no relation to getting this package included in emacs, this is just what a potential user would like]. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 6:48 ` Dan Nicolaescu @ 2010-07-01 7:50 ` Thierry Volpiatto 2010-07-01 8:36 ` Dan Nicolaescu 2010-07-01 13:18 ` more on anything.el inclusion Ted Zlatanov 2010-07-04 22:02 ` Stefan Monnier 1 sibling, 2 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-01 7:50 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: rubikitch, emacs-devel Dan Nicolaescu <dann@gnu.org> writes: > Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > >> Dan Nicolaescu <dann@gnu.org> writes: >> >>>> Actually installing anything is easy and work out of the box with only: >>>> >>>> (require 'anything-config) >>>> (require 'anything-match-plugin) ; facultatif >>> >>> For packages included in emacs we try to avoid using require to >>> activate the package. [I don't know anything about this particular >>> package, so...] >> >> A lot of autoload cookies are missing in anything-config, however, >> >> (autoload 'anything-find-files "anything-config.el" "" t) >> >> is enough to enable anything. > > That's the same as using require. The preferred way is to do it with > a function call, or a mode. > >>>> Anything is now self documented both in mode-line and with C-h m or your >>>> usual help command, but yes a manual would be nice. >>> >>> Can you please add some brief description of what it actually does? >>> >>> ;;;; anything.el --- open anything / QuickSilver-like candidate-selection framework >>> >>> does not tell much... >> >> anything is a framework that allow to setup an interactive and >> incremental display to select candidate and provide diverses actions on >> it or many of them. >> >> Basically, you can see that as a big completing-read, but incremental >> with nice display, and providing differents action on candidate selected >> in collection. > > And how do you use it? On the user side, if you use anything-config.el, there is already build in sources ready for use, so you can use provided functions like any other emacs one (e.g M-x anything-xfonts). For the developper who want to write his own anything source the best actually is to look at the sources wrote in anything-config.el. Basically, you run anything like that: (anything 'source) source is an alist that you can write like that: (Where name, candidates, action are anything attributes. You have a lot of attributes, for full info, use: M-x anything-describe-anything-attribute) (defvar mysource '((name . "A simple example that open all file with extension .el") (candidates . (lambda () (loop for i in (directory-files default-directory) when (string= (file-name-extension i) "el") collect i))) (action . (("Open file" . find-file) ("Do something else" . (lambda (candidate) ;; Write here something more ;; useful than nil nil)))))) ;; [EVAL] (anything 'mysource) After evaluating line above to see if your new source work as expected, you can now define your new anything command: (defun my-new-anything-command () (interactive) (anything 'mysource)) > BTW, this might be obvious to you, but for people that have not used > the package is not. Adding a few lines of describing what it does and > how to use it is very helpful. [Please note that this has no relation > to getting this package included in emacs, this is just what a > potential user would like]. > -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 7:50 ` Thierry Volpiatto @ 2010-07-01 8:36 ` Dan Nicolaescu 2010-07-01 8:53 ` Thierry Volpiatto 2010-07-01 15:20 ` Anything Use Case (was: more on anything.el inclusion) Memnon Anon 2010-07-01 13:18 ` more on anything.el inclusion Ted Zlatanov 1 sibling, 2 replies; 78+ messages in thread From: Dan Nicolaescu @ 2010-07-01 8:36 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: rubikitch, emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > Dan Nicolaescu <dann@gnu.org> writes: > >> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >> >>> Dan Nicolaescu <dann@gnu.org> writes: >>> >>>>> Actually installing anything is easy and work out of the box with only: >>>>> >>>>> (require 'anything-config) >>>>> (require 'anything-match-plugin) ; facultatif >>>> >>>> For packages included in emacs we try to avoid using require to >>>> activate the package. [I don't know anything about this particular >>>> package, so...] >>> >>> A lot of autoload cookies are missing in anything-config, however, >>> >>> (autoload 'anything-find-files "anything-config.el" "" t) >>> >>> is enough to enable anything. >> >> That's the same as using require. The preferred way is to do it with >> a function call, or a mode. >> >>>>> Anything is now self documented both in mode-line and with C-h m or your >>>>> usual help command, but yes a manual would be nice. >>>> >>>> Can you please add some brief description of what it actually does? >>>> >>>> ;;;; anything.el --- open anything / QuickSilver-like candidate-selection framework >>>> >>>> does not tell much... >>> >>> anything is a framework that allow to setup an interactive and >>> incremental display to select candidate and provide diverses actions on >>> it or many of them. >>> >>> Basically, you can see that as a big completing-read, but incremental >>> with nice display, and providing differents action on candidate selected >>> in collection. >> >> And how do you use it? > > On the user side, if you use anything-config.el, there is already build > in sources ready for use, so you can use provided functions like any > other emacs one (e.g M-x anything-xfonts). This is still hard to grasp... Can you provide concrete examples of typical problems and how anything.el solves them? > > For the developper who want to write his own anything source the best > actually is to look at the sources wrote in anything-config.el. > > Basically, you run anything like that: > > (anything 'source) > > source is an alist that you can write like that: > (Where name, candidates, action are anything attributes. > You have a lot of attributes, for full info, use: > M-x anything-describe-anything-attribute) > > (defvar mysource > '((name . "A simple example that open all file with extension .el") > (candidates . (lambda () > (loop for i in (directory-files default-directory) > when (string= (file-name-extension i) "el") > collect i))) > (action . (("Open file" . find-file) > ("Do something else" . (lambda (candidate) > ;; Write here something more > ;; useful than nil > nil)))))) > > ;; [EVAL] (anything 'mysource) > > After evaluating line above to see if your new source work as expected, > you can now define your new anything command: > > (defun my-new-anything-command () > (interactive) > (anything 'mysource)) > > >> BTW, this might be obvious to you, but for people that have not used >> the package is not. Adding a few lines of describing what it does and >> how to use it is very helpful. [Please note that this has no relation >> to getting this package included in emacs, this is just what a >> potential user would like]. >> > > -- > Thierry Volpiatto > Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 8:36 ` Dan Nicolaescu @ 2010-07-01 8:53 ` Thierry Volpiatto 2010-07-01 16:02 ` Dan Nicolaescu 2010-07-01 15:20 ` Anything Use Case (was: more on anything.el inclusion) Memnon Anon 1 sibling, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-01 8:53 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: rubikitch, emacs-devel Dan Nicolaescu <dann@gnu.org> writes: > Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > >> Dan Nicolaescu <dann@gnu.org> writes: >> >>> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >>> >>>> Dan Nicolaescu <dann@gnu.org> writes: >>>> >>>>>> Actually installing anything is easy and work out of the box with only: >>>>>> >>>>>> (require 'anything-config) >>>>>> (require 'anything-match-plugin) ; facultatif >>>>> >>>>> For packages included in emacs we try to avoid using require to >>>>> activate the package. [I don't know anything about this particular >>>>> package, so...] >>>> >>>> A lot of autoload cookies are missing in anything-config, however, >>>> >>>> (autoload 'anything-find-files "anything-config.el" "" t) >>>> >>>> is enough to enable anything. >>> >>> That's the same as using require. The preferred way is to do it with >>> a function call, or a mode. >>> >>>>>> Anything is now self documented both in mode-line and with C-h m or your >>>>>> usual help command, but yes a manual would be nice. >>>>> >>>>> Can you please add some brief description of what it actually does? >>>>> >>>>> ;;;; anything.el --- open anything / QuickSilver-like candidate-selection framework >>>>> >>>>> does not tell much... >>>> >>>> anything is a framework that allow to setup an interactive and >>>> incremental display to select candidate and provide diverses actions on >>>> it or many of them. >>>> >>>> Basically, you can see that as a big completing-read, but incremental >>>> with nice display, and providing differents action on candidate selected >>>> in collection. >>> >>> And how do you use it? >> >> On the user side, if you use anything-config.el, there is already build >> in sources ready for use, so you can use provided functions like any >> other emacs one (e.g M-x anything-xfonts). > > This is still hard to grasp... > Can you provide concrete examples of typical problems and how > anything.el solves them? Say you want to see how look dejavu fonts in emacs: M-x anything-xfonts RET enter in prompt: deja Move anything overlay with C-n/p or down/up Hit C-z Hit TAB to see provided actions Hit C-g to exit doing nothing Hit RET to exit doing the default action. Did you read example i provide under here? > > > >> >> For the developper who want to write his own anything source the best >> actually is to look at the sources wrote in anything-config.el. >> >> Basically, you run anything like that: >> >> (anything 'source) >> >> source is an alist that you can write like that: >> (Where name, candidates, action are anything attributes. >> You have a lot of attributes, for full info, use: >> M-x anything-describe-anything-attribute) >> >> (defvar mysource >> '((name . "A simple example that open all file with extension .el") >> (candidates . (lambda () >> (loop for i in (directory-files default-directory) >> when (string= (file-name-extension i) "el") >> collect i))) >> (action . (("Open file" . find-file) >> ("Do something else" . (lambda (candidate) >> ;; Write here something more >> ;; useful than nil >> nil)))))) >> >> ;; [EVAL] (anything 'mysource) >> >> After evaluating line above to see if your new source work as expected, >> you can now define your new anything command: >> >> (defun my-new-anything-command () >> (interactive) >> (anything 'mysource)) >> >> >>> BTW, this might be obvious to you, but for people that have not used >>> the package is not. Adding a few lines of describing what it does and >>> how to use it is very helpful. [Please note that this has no relation >>> to getting this package included in emacs, this is just what a >>> potential user would like]. >>> >> >> -- >> Thierry Volpiatto >> Gpg key: http://pgp.mit.edu/ > -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 8:53 ` Thierry Volpiatto @ 2010-07-01 16:02 ` Dan Nicolaescu 2010-07-01 16:33 ` Harald Hanche-Olsen ` (2 more replies) 0 siblings, 3 replies; 78+ messages in thread From: Dan Nicolaescu @ 2010-07-01 16:02 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: rubikitch, emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > Dan Nicolaescu <dann@gnu.org> writes: > >> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >> >>> Dan Nicolaescu <dann@gnu.org> writes: >>> >>>> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: >>>> >>>>> Dan Nicolaescu <dann@gnu.org> writes: >>>>> >>>>>>> Actually installing anything is easy and work out of the box with only: >>>>>>> >>>>>>> (require 'anything-config) >>>>>>> (require 'anything-match-plugin) ; facultatif >>>>>> >>>>>> For packages included in emacs we try to avoid using require to >>>>>> activate the package. [I don't know anything about this particular >>>>>> package, so...] >>>>> >>>>> A lot of autoload cookies are missing in anything-config, however, >>>>> >>>>> (autoload 'anything-find-files "anything-config.el" "" t) >>>>> >>>>> is enough to enable anything. >>>> >>>> That's the same as using require. The preferred way is to do it with >>>> a function call, or a mode. >>>> >>>>>>> Anything is now self documented both in mode-line and with C-h m or your >>>>>>> usual help command, but yes a manual would be nice. >>>>>> >>>>>> Can you please add some brief description of what it actually does? >>>>>> >>>>>> ;;;; anything.el --- open anything / QuickSilver-like candidate-selection framework >>>>>> >>>>>> does not tell much... >>>>> >>>>> anything is a framework that allow to setup an interactive and >>>>> incremental display to select candidate and provide diverses actions on >>>>> it or many of them. >>>>> >>>>> Basically, you can see that as a big completing-read, but incremental >>>>> with nice display, and providing differents action on candidate selected >>>>> in collection. >>>> >>>> And how do you use it? >>> >>> On the user side, if you use anything-config.el, there is already build >>> in sources ready for use, so you can use provided functions like any >>> other emacs one (e.g M-x anything-xfonts). >> >> This is still hard to grasp... >> Can you provide concrete examples of typical problems and how >> anything.el solves them? > > Say you want to see how look dejavu fonts in emacs: > M-x anything-xfonts RET Does this happen automatically when you do x-choose-font? As a user do I need to know a lot of anything-* function names, or this happens automatically when I use completion? > enter in prompt: deja > > Move anything overlay with C-n/p or down/up > Hit C-z > Hit TAB to see provided actions > Hit C-g to exit doing nothing > Hit RET to exit doing the default action. > > Did you read example i provide under here? No, I am looking at this from the point of view of a user, not a programmer. You might want to step back, and think about how to present this to someone that has not idea what anything.el is, and what it can do. (I still don't know after a few emails...) > >> >> >> >>> >>> For the developper who want to write his own anything source the best >>> actually is to look at the sources wrote in anything-config.el. >>> >>> Basically, you run anything like that: >>> >>> (anything 'source) >>> >>> source is an alist that you can write like that: >>> (Where name, candidates, action are anything attributes. >>> You have a lot of attributes, for full info, use: >>> M-x anything-describe-anything-attribute) >>> >>> (defvar mysource >>> '((name . "A simple example that open all file with extension .el") >>> (candidates . (lambda () >>> (loop for i in (directory-files default-directory) >>> when (string= (file-name-extension i) "el") >>> collect i))) >>> (action . (("Open file" . find-file) >>> ("Do something else" . (lambda (candidate) >>> ;; Write here something more >>> ;; useful than nil >>> nil)))))) >>> >>> ;; [EVAL] (anything 'mysource) >>> >>> After evaluating line above to see if your new source work as expected, >>> you can now define your new anything command: >>> >>> (defun my-new-anything-command () >>> (interactive) >>> (anything 'mysource)) >>> >>> >>>> BTW, this might be obvious to you, but for people that have not used >>>> the package is not. Adding a few lines of describing what it does and >>>> how to use it is very helpful. [Please note that this has no relation >>>> to getting this package included in emacs, this is just what a >>>> potential user would like]. >>>> >>> >>> -- >>> Thierry Volpiatto >>> Gpg key: http://pgp.mit.edu/ >> > > -- > Thierry Volpiatto > Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 16:02 ` Dan Nicolaescu @ 2010-07-01 16:33 ` Harald Hanche-Olsen 2010-07-01 16:43 ` Ted Zlatanov 2010-07-01 17:18 ` Thierry Volpiatto 2010-07-01 17:36 ` Harald Hanche-Olsen 2 siblings, 1 reply; 78+ messages in thread From: Harald Hanche-Olsen @ 2010-07-01 16:33 UTC (permalink / raw) To: emacs-devel + Dan Nicolaescu <dann@gnu.org>: > You might want to step back, and think about how to present this to > someone that has not idea what anything.el is, and what it can do. > (I still don't know after a few emails...) I can't help explain anything (*), but it has been compared to quicksilver on the Mac, which I do use. And the problem with explaining that is that it is (in some ways) so totally different from traditional computer interfaces that it's almost impossible to describe it meaningfully. You just have to see it in action. That doesn't mean you cannot and should not try, but it explains why the explanations this far fall short. (Imagine explaining computers and what you can do with them to your great-great-grandfather.) (*) I love being able to say that. - Harald (who is now willing to try anything for himself) ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 16:33 ` Harald Hanche-Olsen @ 2010-07-01 16:43 ` Ted Zlatanov 0 siblings, 0 replies; 78+ messages in thread From: Ted Zlatanov @ 2010-07-01 16:43 UTC (permalink / raw) To: emacs-devel On Thu, 01 Jul 2010 11:33:19 -0500 (CDT) Harald Hanche-Olsen <hanche@math.ntnu.no> wrote: HH> + Dan Nicolaescu <dann@gnu.org>: >> You might want to step back, and think about how to present this to >> someone that has not idea what anything.el is, and what it can do. >> (I still don't know after a few emails...) HH> I can't help explain anything (*), but it has been compared to HH> quicksilver on the Mac, which I do use. It's similar to Gnome Do as well (or you can say Do is like QuickSilver), for those who don't have a Mac. HH> And the problem with explaining that is that it is (in some ways) so HH> totally different from traditional computer interfaces that it's HH> almost impossible to describe it meaningfully. You just have to see HH> it in action. That doesn't mean you cannot and should not try, but HH> it explains why the explanations this far fall short. We've had interactive completion in Emacs for a while and it actually does a lot of cool things like anything.el. Icicles also addresses similar needs, although I personally did not like it. So I don't think it's necessarily a radical interface you'd have trouble explaining to the Emacs crowd :) Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 16:02 ` Dan Nicolaescu 2010-07-01 16:33 ` Harald Hanche-Olsen @ 2010-07-01 17:18 ` Thierry Volpiatto 2010-07-01 17:43 ` Dan Nicolaescu 2010-07-01 17:36 ` Harald Hanche-Olsen 2 siblings, 1 reply; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-01 17:18 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: rubikitch, emacs-devel Dan Nicolaescu <dann@gnu.org> writes: >> Say you want to see how look dejavu fonts in emacs: >> M-x anything-xfonts RET > > Does this happen automatically when you do x-choose-font? Don't know what is x-choose-font, i have not such command. > As a user do I need to know a lot of anything-* function names, or > this happens automatically when I use completion? AFAIK M-x provide completion on all emacs commands, why not for anything commands? You can use anything-M-x or anything-emacs-commands as a replacement of M-x. >> enter in prompt: deja >> >> Move anything overlay with C-n/p or down/up >> Hit C-z >> Hit TAB to see provided actions >> Hit C-g to exit doing nothing >> Hit RET to exit doing the default action. >> >> Did you read example i provide under here? > > No, I am looking at this from the point of view of a user, not a programmer. Ok. > You might want to step back, and think about how to present this to > someone that has not idea what anything.el is, and what it can do. On the user point of view, there is nothing to understand, anything provide emacs commands like any other emacs package. So you do M-x anything- TAB and try differents commands. > (I still don't know after a few emails...) I assume you are joking. ;-) -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 17:18 ` Thierry Volpiatto @ 2010-07-01 17:43 ` Dan Nicolaescu 2010-07-01 18:14 ` Thierry Volpiatto ` (2 more replies) 0 siblings, 3 replies; 78+ messages in thread From: Dan Nicolaescu @ 2010-07-01 17:43 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: rubikitch, emacs-devel Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > Dan Nicolaescu <dann@gnu.org> writes: > >>> Say you want to see how look dejavu fonts in emacs: >>> M-x anything-xfonts RET >> >> Does this happen automatically when you do x-choose-font? > > Don't know what is x-choose-font, i have not such command. Sorry, x-select-font BTW, anything-xfonts is not the best example, looking at fonts is not a very frequent action. Can you give an example of a more frequent operation / mode of operation. >> As a user do I need to know a lot of anything-* function names, or >> this happens automatically when I use completion? > > AFAIK M-x provide completion on all emacs commands, why not for anything > commands? > You can use anything-M-x or anything-emacs-commands as a replacement of > M-x. So are you saying that instead of using M-x SOMETHING one would use M-x anything-SOMETHING? Normally users don't do M-x find-file, they to C-x C-f, so if you do C-x C-f do you get M-x anything-find-file ? (and similar for other key bindings) >> You might want to step back, and think about how to present this to >> someone that has not idea what anything.el is, and what it can do. > On the user point of view, there is nothing to understand, anything > provide emacs commands like any other emacs package. > > So you do M-x anything- TAB and try differents commands. As a user, if the package does not quite tell me why would I want to try it, I won't do it. That's why I am asking from some simple, easy to understand, significant examples. >> (I still don't know after a few emails...) > I assume you are joking. ;-) I am not. All I know that it's a package that does some kind of completion that is activated after you do (require 'anything). But it's unclear what type of completion, and why would I want to use it. Please don't get this wrong, many people are saying it's a great package, but the description can use some improvement. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 17:43 ` Dan Nicolaescu @ 2010-07-01 18:14 ` Thierry Volpiatto 2010-07-01 18:48 ` Ted Zlatanov 2010-07-01 18:57 ` Wojciech Meyer 2 siblings, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-01 18:14 UTC (permalink / raw) To: emacs-devel Dan Nicolaescu <dann@gnu.org> writes: > Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > >> Dan Nicolaescu <dann@gnu.org> writes: >> >>>> Say you want to see how look dejavu fonts in emacs: >>>> M-x anything-xfonts RET >>> >>> Does this happen automatically when you do x-choose-font? >> >> Don't know what is x-choose-font, i have not such command. > > Sorry, x-select-font > BTW, anything-xfonts is not the best example, looking at fonts is not > a very frequent action. Can you give an example of a more frequent > operation / mode of operation. You can try anything-find-files that can be a replacement of C-x C-f IF YOU WANT. In any case, it will never replace standard C-x C-f (find-file) until you write explicitely in your .emacs (global-set-key (kbd "C-x C-f") 'anyting-find-files) ^ Notice the s at end. That the choice of the user to use the command he want. As you will see anything-find-files will give you in addition of an incremental search a bunch of actions on candidate: ,---- | Find File | Find file in Dired | Find file in Elscreen | Complete at point | Delete File(s) | Find file as root | Open file externally (C-u to choose) | Find file other window | Find file other frame `---- find file in elscreen appear in menu only if elscreen is loaded. complete at point provide file completion in any buffer in emacs (minibuffer compris) >>> As a user do I need to know a lot of anything-* function names, or >>> this happens automatically when I use completion? >> >> AFAIK M-x provide completion on all emacs commands, why not for anything >> commands? >> You can use anything-M-x or anything-emacs-commands as a replacement of >> M-x. > > So are you saying that instead of using M-x SOMETHING one would use > M-x anything-SOMETHING? Yes that is your choice, anything DONT REPLACE emacs commands unless you do it explicitely by binding command. > Normally users don't do M-x find-file, they to C-x C-f, so if you do C-x C-f do you get > M-x anything-find-file ? (and similar for other key bindings) No, as explained above, that's your choice, maybe one prefer using standard C-x C-f (find-file) and not anything-find-files. So you can install anything in emacs and continue to use emacs as you always did. >>> You might want to step back, and think about how to present this to >>> someone that has not idea what anything.el is, and what it can do. >> On the user point of view, there is nothing to understand, anything >> provide emacs commands like any other emacs package. >> >> So you do M-x anything- TAB and try differents commands. > > As a user, if the package does not quite tell me why would I want to > try it, I won't do it. That's why I am asking from some simple, easy > to understand, significant examples. > >>> (I still don't know after a few emails...) >> I assume you are joking. ;-) > > I am not. All I know that it's a package that does some kind of > completion that is activated after you do (require 'anything). But > it's unclear what type of completion, and why would I want to use it. > Please don't get this wrong, many people are saying it's a great > package, but the description can use some improvement. As Harald said, it's difficult to describe until you use it. -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 17:43 ` Dan Nicolaescu 2010-07-01 18:14 ` Thierry Volpiatto @ 2010-07-01 18:48 ` Ted Zlatanov 2010-07-01 18:57 ` Wojciech Meyer 2 siblings, 0 replies; 78+ messages in thread From: Ted Zlatanov @ 2010-07-01 18:48 UTC (permalink / raw) To: emacs-devel On Thu, 01 Jul 2010 13:43:37 -0400 Dan Nicolaescu <dann@gnu.org> wrote: DN> So are you saying that instead of using M-x SOMETHING one would use DN> M-x anything-SOMETHING? DN> Normally users don't do M-x find-file, they to C-x C-f, so if you do DN> C-x C-f do you get M-x anything-find-file ? (and similar for other DN> key bindings) anything.el does not change or interfere with the normal completion system. IMHO this is a good thing: it has allowed anything.el to experiment freely and has made it a simple unobtrusive add-on. DN> As a user, if the package does not quite tell me why would I want to DN> try it, I won't do it. That's why I am asking from some simple, easy DN> to understand, significant examples. How about "anything.el: easy find/select/operate on files/fonts/anything interface. A live-search (similar to Quicksilver and Gnome Do) alternative to standard completion mechanisms you can try by exploring the anything-* commands. Does not change or interfere with standard completion and requires no customizations out of the box." ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 17:43 ` Dan Nicolaescu 2010-07-01 18:14 ` Thierry Volpiatto 2010-07-01 18:48 ` Ted Zlatanov @ 2010-07-01 18:57 ` Wojciech Meyer 2 siblings, 0 replies; 78+ messages in thread From: Wojciech Meyer @ 2010-07-01 18:57 UTC (permalink / raw) To: Dan Nicolaescu, Thierry Volpiatto, rubikitch, emacs-devel I tried it at work today and I quite like it. To the extent I wanted immediately bind it to a key. The idea is about implict context, normally you have to supply conext in a form of specific function. To open a file you have to say M-x load-file or to switch to a buffer you have to say M-x ibuffer-switch, M-x anything try to guess the action based on a context and give you a choice. So in this case you just say M-x anything and type characters, and get list of options to do with the names or symbols containig those. Wojciech On 7/1/10, Dan Nicolaescu <dann@gnu.org> wrote: > Thierry Volpiatto <thierry.volpiatto@gmail.com> writes: > >> Dan Nicolaescu <dann@gnu.org> writes: >> >>>> Say you want to see how look dejavu fonts in emacs: >>>> M-x anything-xfonts RET >>> >>> Does this happen automatically when you do x-choose-font? >> >> Don't know what is x-choose-font, i have not such command. > > Sorry, x-select-font > > BTW, anything-xfonts is not the best example, looking at fonts is not > a very frequent action. Can you give an example of a more frequent > operation / mode of operation. > >>> As a user do I need to know a lot of anything-* function names, or >>> this happens automatically when I use completion? >> >> AFAIK M-x provide completion on all emacs commands, why not for anything >> commands? >> You can use anything-M-x or anything-emacs-commands as a replacement of >> M-x. > > So are you saying that instead of using M-x SOMETHING one would use > M-x anything-SOMETHING? > > Normally users don't do M-x find-file, they to C-x C-f, so if you do C-x C-f > do you get > M-x anything-find-file ? (and similar for other key bindings) > >>> You might want to step back, and think about how to present this to >>> someone that has not idea what anything.el is, and what it can do. >> On the user point of view, there is nothing to understand, anything >> provide emacs commands like any other emacs package. >> >> So you do M-x anything- TAB and try differents commands. > > As a user, if the package does not quite tell me why would I want to > try it, I won't do it. That's why I am asking from some simple, easy > to understand, significant examples. > >>> (I still don't know after a few emails...) >> I assume you are joking. ;-) > > I am not. All I know that it's a package that does some kind of > completion that is activated after you do (require 'anything). But > it's unclear what type of completion, and why would I want to use it. > Please don't get this wrong, many people are saying it's a great > package, but the description can use some improvement. > > -- Sent from my mobile device ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 16:02 ` Dan Nicolaescu 2010-07-01 16:33 ` Harald Hanche-Olsen 2010-07-01 17:18 ` Thierry Volpiatto @ 2010-07-01 17:36 ` Harald Hanche-Olsen 2 siblings, 0 replies; 78+ messages in thread From: Harald Hanche-Olsen @ 2010-07-01 17:36 UTC (permalink / raw) To: emacs-devel + Dan Nicolaescu <dann@gnu.org>: > (I still don't know after a few emails...) Does http://www.emacswiki.org/cgi-bin/emacs/Anything help at all? - Harald ^ permalink raw reply [flat|nested] 78+ messages in thread
* Anything Use Case (was: more on anything.el inclusion) 2010-07-01 8:36 ` Dan Nicolaescu 2010-07-01 8:53 ` Thierry Volpiatto @ 2010-07-01 15:20 ` Memnon Anon 1 sibling, 0 replies; 78+ messages in thread From: Memnon Anon @ 2010-07-01 15:20 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: rubikitch, emacs-devel, Thierry Volpiatto Anything is just great! Dan Nicolaescu <dann@gnu.org> writes: >>> And how do you use it? >> >> On the user side, if you use anything-config.el, there is already build >> in sources ready for use, so you can use provided functions like any >> other emacs one (e.g M-x anything-xfonts). > > This is still hard to grasp... > Can you provide concrete examples of typical problems and how > anything.el solves them? One of my typical use cases: - I need to use `grep', but I do not use it that often. - F11 takes me to anything in my setup. - "Pattern:" grep - Anything shows me lots of startig points, e.g.: ,---- | Emacs Commands | find-grep | find-grep-dired | grep | ... `---- ,---- | Info Pages | grep: (grep) | ... `---- ,---- | Manual Pages | bzegrep | bzfgrep | bzgrep | ... `---- ,---- | Locate | /bin/bzegrep | /bin/bzfgrep | /bin/bzgrep | ... `---- - I can use the primary action on each item pressing RET or get a list of actions apropriate for the specific item. For Emacs Command `find-grep', I get: ,---- | Call interactively | Describe command | Add command to kill ring | Go to command's definition `---- The list of sources to integrate is vast! Your bbdb database, kill ring, buffers, locate database, w3m bookmarks, info and man, apt and much more, all from a single slick interface. It might not be a solution to a single "problem", but it grows on you. Now, I consider it a vital part of my emacs experience :). ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 7:50 ` Thierry Volpiatto 2010-07-01 8:36 ` Dan Nicolaescu @ 2010-07-01 13:18 ` Ted Zlatanov 2010-07-01 14:15 ` Thierry Volpiatto 2010-07-17 13:37 ` rubikitch 1 sibling, 2 replies; 78+ messages in thread From: Ted Zlatanov @ 2010-07-01 13:18 UTC (permalink / raw) To: emacs-devel On Thu, 01 Jul 2010 09:50:30 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: TV> On the user side, if you use anything-config.el, there is already build TV> in sources ready for use, so you can use provided functions like any TV> other emacs one (e.g M-x anything-xfonts). OK. Thanks for explaining. So from the user's viewpoint, it should be enough to autoload all the front-end anything-* functions (from anything.el ideally, so users don't have to know about anything-config.el as you had it in your autoload example). Can you make the necessary changes? Or will that require major work? Is there a list of the standard front-end functions (a subset of the autoloads below) that should always be exposed (through keyboard mappings, possibly in a menu) to Emacs users? The xfonts and file selection ones should be in that list for sure. TV> For the developper who want to write his own anything source the best TV> actually is to look at the sources wrote in anything-config.el. I don't think you need to explain too much about developer support in this thread; I would assume anyone interested in extending it is capable of reading the docs. Thanks Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 13:18 ` more on anything.el inclusion Ted Zlatanov @ 2010-07-01 14:15 ` Thierry Volpiatto 2010-07-01 14:48 ` Lennart Borgman 2010-07-01 15:55 ` Ted Zlatanov 2010-07-17 13:37 ` rubikitch 1 sibling, 2 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-01 14:15 UTC (permalink / raw) To: emacs-devel; +Cc: rubikitch Ted Zlatanov <tzz@lifelogs.com> writes: > On Thu, 01 Jul 2010 09:50:30 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: > > TV> On the user side, if you use anything-config.el, there is already build > TV> in sources ready for use, so you can use provided functions like any > TV> other emacs one (e.g M-x anything-xfonts). > > OK. Thanks for explaining. So from the user's viewpoint, it should be > enough to autoload all the front-end anything-* functions (from > anything.el ideally, so users don't have to know about > anything-config.el as you had it in your autoload example). Can you > make the necessary changes? Or will that require major work? Maybe a function that autoload all as suggested by Dan? Would not need major work, but need to discuss it with Rubikitch. > Is there a list of the standard front-end functions (a subset of the > autoloads below) that should always be exposed (through keyboard > mappings, possibly in a menu) to Emacs users? The xfonts and file > selection ones should be in that list for sure. In which menu should we add anything commands? I mean this kind of menu: (easy-menu-define nil global-map "`anything' menu" `("Anything commands" ["Find files" anything-find-files t] ["Show xfonts" anything-xfonts t])) Here it is in global menu, but maybe that should go in tools or don't know where.(i never used menus in emacs, toolbar is disabled here). > TV> For the developper who want to write his own anything source the best > TV> actually is to look at the sources wrote in anything-config.el. > > I don't think you need to explain too much about developer support in > this thread; I would assume anyone interested in extending it is capable > of reading the docs. Ok -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 14:15 ` Thierry Volpiatto @ 2010-07-01 14:48 ` Lennart Borgman 2010-07-01 15:55 ` Ted Zlatanov 1 sibling, 0 replies; 78+ messages in thread From: Lennart Borgman @ 2010-07-01 14:48 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: rubikitch, emacs-devel On Thu, Jul 1, 2010 at 4:15 PM, Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: > > In which menu should we add anything commands? I have suggested long ago to create a top level menu for all minor modes. That would make decisions like this easier. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 14:15 ` Thierry Volpiatto 2010-07-01 14:48 ` Lennart Borgman @ 2010-07-01 15:55 ` Ted Zlatanov 2010-07-01 16:43 ` Lennart Borgman 2010-07-09 14:46 ` Thierry Volpiatto 1 sibling, 2 replies; 78+ messages in thread From: Ted Zlatanov @ 2010-07-01 15:55 UTC (permalink / raw) To: emacs-devel On Thu, 01 Jul 2010 16:15:38 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: TV> Ted Zlatanov <tzz@lifelogs.com> writes: >> OK. Thanks for explaining. So from the user's viewpoint, it should be >> enough to autoload all the front-end anything-* functions (from >> anything.el ideally, so users don't have to know about >> anything-config.el as you had it in your autoload example). Can you >> make the necessary changes? Or will that require major work? TV> Maybe a function that autoload all as suggested by Dan? TV> Would not need major work, but need to discuss it with Rubikitch. Wonderful, thank you. >> Is there a list of the standard front-end functions (a subset of the >> autoloads below) that should always be exposed (through keyboard >> mappings, possibly in a menu) to Emacs users? The xfonts and file >> selection ones should be in that list for sure. TV> In which menu should we add anything commands? TV> I mean this kind of menu: TV> (easy-menu-define nil global-map TV> "`anything' menu" TV> `("Anything commands" TV> ["Find files" anything-find-files t] TV> ["Show xfonts" anything-xfonts t])) TV> Here it is in global menu, but maybe that should go in tools or don't TV> know where.(i never used menus in emacs, toolbar is disabled here). The menu location is not so important. The point is to make a list of "important" front-end functions that users should really know about. The keyboard mappings are IMO much more important because anything-* functions tend to be important while editing, not as an interactive exploration (which menus do well). So when we have the list we can propose a list of mappings and depending on whether the list has 10 or 100 entries we can anticipate the mapping complexity. On Thu, 1 Jul 2010 16:48:48 +0200 Lennart Borgman <lennart.borgman@gmail.com> wrote: LB> On Thu, Jul 1, 2010 at 4:15 PM, Thierry Volpiatto LB> <thierry.volpiatto@gmail.com> wrote: >> >> In which menu should we add anything commands? LB> I have suggested long ago to create a top level menu for all minor LB> modes. That would make decisions like this easier. Exposing functionality creates UI complexity; Emacs is already really complex both in UI terms and in scope. So I don't think adding a general menu like that (have you seen how many minor modes Emacs has?) would benefit the users. OTOH it would be very nifty if there was a anything-minor-mode function that let you browse (with some help text) and activate minor modes. Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 15:55 ` Ted Zlatanov @ 2010-07-01 16:43 ` Lennart Borgman 2010-07-01 18:55 ` Ted Zlatanov 2010-07-09 14:46 ` Thierry Volpiatto 1 sibling, 1 reply; 78+ messages in thread From: Lennart Borgman @ 2010-07-01 16:43 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel 2010/7/1 Ted Zlatanov <tzz@lifelogs.com>: >>> >>> In which menu should we add anything commands? > > LB> I have suggested long ago to create a top level menu for all minor > LB> modes. That would make decisions like this easier. > > Exposing functionality creates UI complexity; Emacs is already really > complex both in UI terms and in scope. So I don't think adding a > general menu like that (have you seen how many minor modes Emacs has?) > would benefit the users. A misunderstanding. The problem today is that all minor mode menus goes into the top level menu, i.e. the menu bar. So every minor mode you turn on takes space in the menu bar, but the space in the menu bar is limited. What I suggested is that minor mode menus should not go into the menu bar. They should go into a submenu for minor modes instead. (Perhaps that should be customized per minor mode.) Normally minor modes are not in the menus unless they are turned on. > OTOH it would be very nifty if there was a anything-minor-mode function > that let you browse (with some help text) and activate minor modes. The menus are also used for this. Functionality are sometimes put in the menus so that it is easier to find it. I think that is a good idea. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 16:43 ` Lennart Borgman @ 2010-07-01 18:55 ` Ted Zlatanov 2010-07-01 22:08 ` Lennart Borgman 0 siblings, 1 reply; 78+ messages in thread From: Ted Zlatanov @ 2010-07-01 18:55 UTC (permalink / raw) To: emacs-devel On Thu, 1 Jul 2010 18:43:02 +0200 Lennart Borgman <lennart.borgman@gmail.com> wrote: LB> 2010/7/1 Ted Zlatanov <tzz@lifelogs.com>: >>>> >>>> In which menu should we add anything commands? >> LB> I have suggested long ago to create a top level menu for all minor LB> modes. That would make decisions like this easier. >> >> Exposing functionality creates UI complexity; Emacs is already really >> complex both in UI terms and in scope. So I don't think adding a >> general menu like that (have you seen how many minor modes Emacs has?) >> would benefit the users. LB> A misunderstanding. The problem today is that all minor mode menus LB> goes into the top level menu, i.e. the menu bar. So every minor mode LB> you turn on takes space in the menu bar, but the space in the menu bar LB> is limited. LB> What I suggested is that minor mode menus should not go into the menu LB> bar. They should go into a submenu for minor modes instead. (Perhaps LB> that should be customized per minor mode.) LB> Normally minor modes are not in the menus unless they are turned on. I see. You meant "all active minor modes" in your original message. Yes, in that limited case it could work but I'm not convinced it would be useful. Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 18:55 ` Ted Zlatanov @ 2010-07-01 22:08 ` Lennart Borgman 0 siblings, 0 replies; 78+ messages in thread From: Lennart Borgman @ 2010-07-01 22:08 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel 2010/7/1 Ted Zlatanov <tzz@lifelogs.com>: > > LB> What I suggested is that minor mode menus should not go into the menu > LB> bar. They should go into a submenu for minor modes instead. (Perhaps > LB> that should be customized per minor mode.) > > LB> Normally minor modes are not in the menus unless they are turned on. > > I see. You meant "all active minor modes" in your original message. > Yes, in that limited case it could work but I'm not convinced it would > be useful. It depends on how many minor modes you use. Also I think it would make the distinction between minor modes and major modes a bit more clear for beginners. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 15:55 ` Ted Zlatanov 2010-07-01 16:43 ` Lennart Borgman @ 2010-07-09 14:46 ` Thierry Volpiatto 1 sibling, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-09 14:46 UTC (permalink / raw) To: emacs-devel Hi Ted, sorry for late reply. Ted Zlatanov <tzz@lifelogs.com> writes: > On Thu, 01 Jul 2010 16:15:38 +0200 Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote: > > TV> Ted Zlatanov <tzz@lifelogs.com> writes: > >>> OK. Thanks for explaining. So from the user's viewpoint, it should be >>> enough to autoload all the front-end anything-* functions (from >>> anything.el ideally, so users don't have to know about >>> anything-config.el as you had it in your autoload example). Can you >>> make the necessary changes? Or will that require major work? > > TV> Maybe a function that autoload all as suggested by Dan? > TV> Would not need major work, but need to discuss it with Rubikitch. > > Wonderful, thank you. I don't think a function is neccessary as anything don't modify other things in emacs. There is now an anything-command-map that can be autoloaded at emacs startup. >>> Is there a list of the standard front-end functions (a subset of the >>> autoloads below) that should always be exposed (through keyboard >>> mappings, possibly in a menu) to Emacs users? The xfonts and file >>> selection ones should be in that list for sure. > > TV> In which menu should we add anything commands? > TV> I mean this kind of menu: > > TV> (easy-menu-define nil global-map > TV> "`anything' menu" > TV> `("Anything commands" > TV> ["Find files" anything-find-files t] > TV> ["Show xfonts" anything-xfonts t])) > > TV> Here it is in global menu, but maybe that should go in tools or don't > TV> know where.(i never used menus in emacs, toolbar is disabled here). > > The menu location is not so important. The point is to make a list of > "important" front-end functions that users should really know about. > The keyboard mappings are IMO much more important because anything-* > functions tend to be important while editing, not as an interactive > exploration (which menus do well). So when we have the list we can > propose a list of mappings and depending on whether the list has 10 or > 100 entries we can anticipate the mapping complexity. The anything-command-map is now prefixed at '<f5> a', what can be discussed. If user like a command and want to replace it with standard emacs command, he can bind it to global-map (e.g anything-find-files <=> find-file ==> C-x C-f) There is also a menu showing important commands (again this list can be discussed) that appear when autoloading anything-command-map. > On Thu, 1 Jul 2010 16:48:48 +0200 Lennart Borgman <lennart.borgman@gmail.com> wrote: > > LB> On Thu, Jul 1, 2010 at 4:15 PM, Thierry Volpiatto > LB> <thierry.volpiatto@gmail.com> wrote: >>> >>> In which menu should we add anything commands? > > LB> I have suggested long ago to create a top level menu for all minor > LB> modes. That would make decisions like this easier. > > Exposing functionality creates UI complexity; Emacs is already really > complex both in UI terms and in scope. So I don't think adding a > general menu like that (have you seen how many minor modes Emacs has?) > would benefit the users. > > OTOH it would be very nifty if there was a anything-minor-mode function > that let you browse (with some help text) and activate minor modes. > > Ted > > > -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 13:18 ` more on anything.el inclusion Ted Zlatanov 2010-07-01 14:15 ` Thierry Volpiatto @ 2010-07-17 13:37 ` rubikitch 2010-07-17 15:16 ` Thierry Volpiatto 1 sibling, 1 reply; 78+ messages in thread From: rubikitch @ 2010-07-17 13:37 UTC (permalink / raw) To: emacs-devel From: Ted Zlatanov <tzz@lifelogs.com> Subject: Re: more on anything.el inclusion Date: Thu, 01 Jul 2010 08:18:03 -0500 Hi, I'm the developer of anything.el. > TV> On the user side, if you use anything-config.el, there is already build > TV> in sources ready for use, so you can use provided functions like any > TV> other emacs one (e.g M-x anything-xfonts). > > OK. Thanks for explaining. So from the user's viewpoint, it should be > enough to autoload all the front-end anything-* functions (from > anything.el ideally, so users don't have to know about > anything-config.el as you had it in your autoload example). Can you > make the necessary changes? Or will that require major work? We'll add autoload cookies to them. > Is there a list of the standard front-end functions (a subset of the > autoloads below) that should always be exposed (through keyboard > mappings, possibly in a menu) to Emacs users? The xfonts and file > selection ones should be in that list for sure. The preconfigured anything commands are too many to include into menus and some commands overlap other commands. For example, M-x anything-for-files handles buffers (M-x anything-buffers+), recentf (M-x anything-recentf), bookmarks (M-x anything-bookmarks) and locate (M-x anything-locate). We offer single source (anything-c-source-*) and multiple sources commands so that users can select preferred commands. Instead of binding all anything commands to menu and keymap, I created a navigator command for anything-* commands. M-x anything-execute-anything-command lists all anything commands in anything-config.el. Users can search and select appropriate command. Then users can bind it to keys. I think small amount of commands should be bound to menu and keymap. Cheers, -- rubikitch ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-17 13:37 ` rubikitch @ 2010-07-17 15:16 ` Thierry Volpiatto 0 siblings, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-17 15:16 UTC (permalink / raw) To: emacs-devel rubikitch@ruby-lang.org writes: > From: Ted Zlatanov <tzz@lifelogs.com> > Subject: Re: more on anything.el inclusion > Date: Thu, 01 Jul 2010 08:18:03 -0500 > > Hi, > > I'm the developer of anything.el. > >> TV> On the user side, if you use anything-config.el, there is already build >> TV> in sources ready for use, so you can use provided functions like any >> TV> other emacs one (e.g M-x anything-xfonts). >> >> OK. Thanks for explaining. So from the user's viewpoint, it should be >> enough to autoload all the front-end anything-* functions (from >> anything.el ideally, so users don't have to know about >> anything-config.el as you had it in your autoload example). Can you >> make the necessary changes? Or will that require major work? > > We'll add autoload cookies to them. > >> Is there a list of the standard front-end functions (a subset of the >> autoloads below) that should always be exposed (through keyboard >> mappings, possibly in a menu) to Emacs users? The xfonts and file >> selection ones should be in that list for sure. > > The preconfigured anything commands are too many to include into menus > and some commands overlap other commands. > For example, M-x anything-for-files handles buffers (M-x anything-buffers+), > recentf (M-x anything-recentf), bookmarks (M-x anything-bookmarks) and locate (M-x anything-locate). > We offer single source (anything-c-source-*) and multiple sources commands so that > users can select preferred commands. > > Instead of binding all anything commands to menu and keymap, > I created a navigator command for anything-* commands. > M-x anything-execute-anything-command lists all anything commands in anything-config.el. > Users can search and select appropriate command. > Then users can bind it to keys. > > I think small amount of commands should be bound to menu and keymap. It is already done, with a anything-command-map and a menu (anything-config.el). The prefix command is for the moment "<f5> a" for all anything commands. The list or commands in menu and/or in anything-command-map should be discussed, the prefix "f5 a" also. > > Cheers, > -- > rubikitch > > -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-01 6:48 ` Dan Nicolaescu 2010-07-01 7:50 ` Thierry Volpiatto @ 2010-07-04 22:02 ` Stefan Monnier 2010-07-07 16:47 ` Ted Zlatanov 1 sibling, 1 reply; 78+ messages in thread From: Stefan Monnier @ 2010-07-04 22:02 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: rubikitch, emacs-devel, Thierry Volpiatto > BTW, this might be obvious to you, but for people that have not used > the package is not. Adding a few lines of describing what it does and > how to use it is very helpful. [Please note that this has no relation > to getting this package included in Emacs, this is just what a > potential user would like]. Having gone through the same steps, plus some private discussion with Thierry, here's my take on it: anything.el provides an alternate selection mechanism that differs from the usual minibuffer+completion mechanism in various ways, such as: - the *Completions* buffer is always displayed. - the *Completions* buffer is where the action takes place. - ... - the action to perform on the object(s) you selected is (or can be) chosen from the *Completions* buffer, i.e. after selecting the object rather than before. I.e. one difference is that the UI for selection is a bit different. And another is that the "paradigm" is changed from "choose action then choose on which object to apply it" to "choose object(s) and then choose action to apply to it/them". I haven't delved far enough to give much further details. I think it would be good to try and decouple some of those aspects, especially since I think that some of them could be included in completion-list-mode (i.e. in the default UI). Stefan ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-04 22:02 ` Stefan Monnier @ 2010-07-07 16:47 ` Ted Zlatanov 2010-07-23 15:35 ` Stefan Monnier 0 siblings, 1 reply; 78+ messages in thread From: Ted Zlatanov @ 2010-07-07 16:47 UTC (permalink / raw) To: emacs-devel On Mon, 05 Jul 2010 00:02:59 +0200 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: >> BTW, this might be obvious to you, but for people that have not used >> the package is not. Adding a few lines of describing what it does and >> how to use it is very helpful. [Please note that this has no relation >> to getting this package included in Emacs, this is just what a >> potential user would like]. ... SM> I haven't delved far enough to give much further details. I think it SM> would be good to try and decouple some of those aspects, especially SM> since I think that some of them could be included in SM> completion-list-mode (i.e. in the default UI). Does this mean you'd rather not include anything.el in Emacs? My view is that the anything.el system, separated from the Emacs completion mechanism, has significant freedom with plugins and functionality. So improving the completion mechanism is not the same as what anything.el can provide for Emacs users. Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-07 16:47 ` Ted Zlatanov @ 2010-07-23 15:35 ` Stefan Monnier 2010-07-23 21:49 ` rubikitch 0 siblings, 1 reply; 78+ messages in thread From: Stefan Monnier @ 2010-07-23 15:35 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel SM> I haven't delved far enough to give much further details. I think it SM> would be good to try and decouple some of those aspects, especially SM> since I think that some of them could be included in SM> completion-list-mode (i.e. in the default UI). > Does this mean you'd rather not include anything.el in Emacs? No. Stefan ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-23 15:35 ` Stefan Monnier @ 2010-07-23 21:49 ` rubikitch 2010-08-12 23:02 ` Ted Zlatanov 0 siblings, 1 reply; 78+ messages in thread From: rubikitch @ 2010-07-23 21:49 UTC (permalink / raw) To: emacs-devel From: Stefan Monnier <monnier@IRO.UMontreal.CA> Subject: Re: more on anything.el inclusion Date: Fri, 23 Jul 2010 17:35:42 +0200 > SM> I haven't delved far enough to give much further details. I think it > SM> would be good to try and decouple some of those aspects, especially > SM> since I think that some of them could be included in > SM> completion-list-mode (i.e. in the default UI). > > > Does this mean you'd rather not include anything.el in Emacs? > > No. Thanks. I'm working on anything.el to be included in Emacs. I filled most of long lines within 80 columns. Cheers, -- rubikitch ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-23 21:49 ` rubikitch @ 2010-08-12 23:02 ` Ted Zlatanov 2010-08-24 19:24 ` rubikitch 0 siblings, 1 reply; 78+ messages in thread From: Ted Zlatanov @ 2010-08-12 23:02 UTC (permalink / raw) To: emacs-devel; +Cc: rubikitch, thierry.volpiatto On Sat, 24 Jul 2010 06:49:06 +0900 (JST) rubikitch@ruby-lang.org wrote: r> Thanks. I'm working on anything.el to be included in Emacs. r> I filled most of long lines within 80 columns. Any chance this will be available for review soon? Thanks Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-08-12 23:02 ` Ted Zlatanov @ 2010-08-24 19:24 ` rubikitch 2010-08-25 13:51 ` Juri Linkov 2010-09-11 11:59 ` Thierry Volpiatto 0 siblings, 2 replies; 78+ messages in thread From: rubikitch @ 2010-08-24 19:24 UTC (permalink / raw) To: emacs-devel From: Ted Zlatanov <tzz@lifelogs.com> Subject: Re: more on anything.el inclusion Date: Thu, 12 Aug 2010 18:02:25 -0500 > On Sat, 24 Jul 2010 06:49:06 +0900 (JST) rubikitch@ruby-lang.org wrote: > > r> Thanks. I'm working on anything.el to be included in Emacs. > r> I filled most of long lines within 80 columns. > > Any chance this will be available for review soon? The public repository is available: ssh://repo.or.cz/srv/git/anything-config -- rubikitch ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-08-24 19:24 ` rubikitch @ 2010-08-25 13:51 ` Juri Linkov 2010-09-11 12:02 ` Thierry Volpiatto 2010-09-11 11:59 ` Thierry Volpiatto 1 sibling, 1 reply; 78+ messages in thread From: Juri Linkov @ 2010-08-25 13:51 UTC (permalink / raw) To: rubikitch; +Cc: emacs-devel >> Any chance this will be available for review soon? > > The public repository is available: ssh://repo.or.cz/srv/git/anything-config Since elpa.gnu.org is accessible now, there's a good chance to add anything to elpa.gnu.org. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-08-25 13:51 ` Juri Linkov @ 2010-09-11 12:02 ` Thierry Volpiatto 0 siblings, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-09-11 12:02 UTC (permalink / raw) To: emacs-devel Hi Juri, Juri Linkov <juri@jurta.org> writes: >>> Any chance this will be available for review soon? >> >> The public repository is available: ssh://repo.or.cz/srv/git/anything-config > > Since elpa.gnu.org is accessible now, there's a good chance > to add anything to elpa.gnu.org. Yes of course, but having anything in emacs would be better. -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-08-24 19:24 ` rubikitch 2010-08-25 13:51 ` Juri Linkov @ 2010-09-11 11:59 ` Thierry Volpiatto 1 sibling, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-09-11 11:59 UTC (permalink / raw) To: emacs-devel Hi Ted, and sorry for late reply. rubikitch@ruby-lang.org writes: > From: Ted Zlatanov <tzz@lifelogs.com> > Subject: Re: more on anything.el inclusion > Date: Thu, 12 Aug 2010 18:02:25 -0500 > >> On Sat, 24 Jul 2010 06:49:06 +0900 (JST) rubikitch@ruby-lang.org wrote: >> >> r> Thanks. I'm working on anything.el to be included in Emacs. >> r> I filled most of long lines within 80 columns. >> >> Any chance this will be available for review soon? > > The public repository is available: ssh://repo.or.cz/srv/git/anything-config As you guess i think, this access to anything repo is not public, the public access to anything is: URL git://repo.or.cz/anything-config.git http://repo.or.cz/r/anything-config.git Use the git url to clone and the http one to browse. -- Thierry Volpiatto Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997 ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion @ 2010-07-10 18:27 MON KEY 2010-07-10 19:20 ` Thierry Volpiatto 2010-07-12 13:53 ` Ted Zlatanov 0 siblings, 2 replies; 78+ messages in thread From: MON KEY @ 2010-07-10 18:27 UTC (permalink / raw) To: tzz; +Cc: emacs-devel On Wed, 07 Jul 2010 11:47:40 -0500 Ted Zlatanov wrote: > Does this mean you'd rather not include anything.el in Emacs? > > My view is that the anything.el system, separated from the Emacs > completion mechanism, has significant freedom with plugins and This freedom isn't of itself a good thing and could just as well serve as a potential source confusion/bugs/conflict. AFAIK anything is currently maintained by a cadre of users and the `freedom' that the anything interface provides has/can created conflicts w/re implementation details. Were anything.el to be included in Emacs who would be the lead point of contact? IMHO of the anything cadre Thierry is prob. the capable person, though I imagine nominating him as such could be a bone of contention other of the existing contributors. This being said, it likewise isn't at all clear how/why the Anything featureset is different from or somehow 'better than' the Icicles features Drew Adams' has provided and maintained for many years now. Indeed, IIUC there is already some overlap between the two API's because there a not insignificant degree of functionality overlap. It would seem a real shame (and prob. an insulting to Drew) to consider inclusion of Anything without an honest discussion of inclusion of Icicles as well. Maybe Icicles and Antyhing code/features could/should be merged before inclusion in Emacs. FTR I use neither Anything nor Icicles and couldn't endorse either from experience. However, I have watched the progress of their respective development with interest. > functionality. So improving the completion mechanism is not the > same as what anything.el can provide for Emacs users. Why should it be? What Stephan proposes is absolutely TRT for users such as myself who _could/should_ benefit from the features and proven design concepts which both Anything and Icicles seem to extend to their current adoptees. Why shouldn't we all benefit from an abstracted meta-level API? It is wrongheaded to arbitrarily incorporate external packages which duplicate existing core behaviour/features such that the duplication of the new (however useful) is better positioned to becomes the norm simply by virtue of the pain imposed on emacs-devels to retrofit a core API after the fact. IOW lets say anything.el were to be included in Emacs and it became so widely adopted that it was deemed worthwhile to attempt a retroactive metaleval API (including C primitives). Were Stefan or some other devel to endeavor implementation of such an API they might be hard pressed to maintain backwards compatibility with the existing anything.el procedures and prob. alienate the primary anything.el user base to boot. > Ted -- /s_P\ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-10 18:27 MON KEY @ 2010-07-10 19:20 ` Thierry Volpiatto 2010-07-12 13:53 ` Ted Zlatanov 1 sibling, 0 replies; 78+ messages in thread From: Thierry Volpiatto @ 2010-07-10 19:20 UTC (permalink / raw) To: emacs-devel Hope my private mail is clear enough. I say no more here as i don't want to pollute this mailing list. MON KEY <monkey@sandpframing.com> writes: > On Wed, 07 Jul 2010 11:47:40 -0500 Ted Zlatanov wrote: >> Does this mean you'd rather not include anything.el in Emacs? >> >> My view is that the anything.el system, separated from the Emacs >> completion mechanism, has significant freedom with plugins and > > This freedom isn't of itself a good thing and could just as well serve > as a potential source confusion/bugs/conflict. > > AFAIK anything is currently maintained by a cadre of users and the > `freedom' that the anything interface provides has/can created > conflicts w/re implementation details. > > Were anything.el to be included in Emacs who would be the lead point > of contact? > > IMHO of the anything cadre Thierry is prob. the capable person, though > I imagine nominating him as such could be a bone of contention other > of the existing contributors. > > This being said, it likewise isn't at all clear how/why the Anything > featureset is different from or somehow 'better than' the Icicles > features Drew Adams' has provided and maintained for many years > now. Indeed, IIUC there is already some overlap between the two API's > because there a not insignificant degree of functionality overlap. It > would seem a real shame (and prob. an insulting to Drew) to consider > inclusion of Anything without an honest discussion of inclusion of > Icicles as well. > > Maybe Icicles and Antyhing code/features could/should be merged before > inclusion in Emacs. > > FTR I use neither Anything nor Icicles and couldn't endorse either > from experience. However, I have watched the progress of their > respective development with interest. > >> functionality. So improving the completion mechanism is not the >> same as what anything.el can provide for Emacs users. > > Why should it be? > What Stephan proposes is absolutely TRT for users such as myself who > _could/should_ benefit from the features and proven design concepts > which both Anything and Icicles seem to extend to their current > adoptees. Why shouldn't we all benefit from an abstracted meta-level > API? > > It is wrongheaded to arbitrarily incorporate external packages which > duplicate existing core behaviour/features such that the duplication > of the new (however useful) is better positioned to becomes the norm > simply by virtue of the pain imposed on emacs-devels to retrofit a > core API after the fact. > > IOW lets say anything.el were to be included in Emacs and it became so > widely adopted that it was deemed worthwhile to attempt a retroactive > metaleval API (including C primitives). Were Stefan or some other > devel to endeavor implementation of such an API they might be hard > pressed to maintain backwards compatibility with the existing > anything.el procedures and prob. alienate the primary anything.el user > base to boot. > >> Ted > > -- > /s_P\ > > -- Thierry Volpiatto Gpg key: http://pgp.mit.edu/ ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: more on anything.el inclusion 2010-07-10 18:27 MON KEY 2010-07-10 19:20 ` Thierry Volpiatto @ 2010-07-12 13:53 ` Ted Zlatanov 1 sibling, 0 replies; 78+ messages in thread From: Ted Zlatanov @ 2010-07-12 13:53 UTC (permalink / raw) To: emacs-devel On Sat, 10 Jul 2010 14:27:45 -0400 MON KEY <monkey@sandpframing.com> wrote: MK> Maybe Icicles and Antyhing code/features could/should be merged before MK> inclusion in Emacs. MK> FTR I use neither Anything nor Icicles and couldn't endorse either MK> from experience. However, I have watched the progress of their MK> respective development with interest. I used both anything.el and Icicles for a long time (though I stopped using Icicles a year ago). They can't be merged. At best you can pick features from both. MK> It is wrongheaded to arbitrarily incorporate external packages which MK> duplicate existing core behaviour/features such that the duplication MK> of the new (however useful) is better positioned to becomes the norm MK> simply by virtue of the pain imposed on emacs-devels to retrofit a MK> core API after the fact. I disagree with your phrasing ("arbitrarily" and "duplication" in particular) and your conclusions. MK> IOW lets say anything.el were to be included in Emacs and it became so MK> widely adopted that it was deemed worthwhile to attempt a retroactive MK> metaleval API (including C primitives). Were Stefan or some other MK> devel to endeavor implementation of such an API they might be hard MK> pressed to maintain backwards compatibility with the existing MK> anything.el procedures and prob. alienate the primary anything.el user MK> base to boot. Well, that's why I asked Stefan what his decision was. If he says "no" that's fine. I think he can judge the effort and significance of an alternative to the standard completion mechanism. Ted ^ permalink raw reply [flat|nested] 78+ messages in thread
[parent not found: <87630icytd.fsf@tux.homenetwork>]
* bug#5975: [PATCH] Allow using C-w (bookmark-yank-word) when bookmarking from a gnus article buffer. [not found] <87630icytd.fsf@tux.homenetwork> @ 2010-07-14 16:44 ` Karl Fogel 0 siblings, 0 replies; 78+ messages in thread From: Karl Fogel @ 2010-07-14 16:44 UTC (permalink / raw) To: Thierry Volpiatto; +Cc: 5975-done I've committed the C-w patch to trunk. I examined it and tested it, and it seems to work fine here. Please check it over to make sure! Below are all the relevant bzr revisions, including the precedents. Best, -Karl ------------------------------------------------------------ revno: 100821 revision-id: kfogel@red-bean.com-20100714164140-v2fdq4b6r45zpxev parent: kfogel@red-bean.com-20100714160253-bbfda9e1g7myj1o8 author: Thierry Volpiatto <thierry.volpiatto@gmail.com> committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 12:41:40 -0400 message: Allow C-w when setting a bookmark in a Gnus Article buffer (Bug#5975). * lisp/bookmark.el (bookmark-set): Don't set `bookmark-yank-point' and `bookmark-current-buffer' if they have been already set in another buffer (e.g gnus-art). * lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record): Set `bookmark-yank-point' and `bookmark-current-buffer' to allow C-w. ------------------------------------------------------------ revno: 100820 revision-id: kfogel@red-bean.com-20100714160253-bbfda9e1g7myj1o8 parent: kfogel@red-bean.com-20100714155754-n3k71gay91l4vetv committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 12:02:53 -0400 message: Allow bookmarks to be set from Gnus Article buffers (Bug #5975). Patch applied (with minor tweaks) by Karl Fogel. Note this leaves C-w still not working correctly from Article buffers; Thierry's patch to fix that will be applied after this. * lisp/gnus/gnus-art.el (bookmark-make-record-function): New local variable. * lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record): Allow setting from article buffer. (gnus-summary-bookmark-jump): Maybe jump to article buffer. ------------------------------------------------------------ revno: 100819 revision-id: kfogel@red-bean.com-20100714155754-n3k71gay91l4vetv parent: kfogel@red-bean.com-20100714155426-vnlagemntoe30nu6 committer: Karl Fogel <kfogel@red-bean.com> branch nick: trunk timestamp: Wed 2010-07-14 11:57:54 -0400 message: Preparation for setting bookmarks in Gnus article buffers (Bug#5975). * lisp/bookmark.el (bookmark-make-record-default): Allow unneeded information to be omitted from the record. Adjust declarations and calls: * lisp/info.el (bookmark-make-record-default): Adjust declaration. (Info-bookmark-make-record): Adjust call. * lisp/woman.el (bookmark-make-record-default): Adjust declaration. (woman-bookmark-make-record): Adjust call. * lisp/man.el (bookmark-make-record-default): Adjust declaration. (Man-bookmark-make-record): Adjust call. * lisp/image-mode.el (bookmark-make-record-default): Adjust declaration. * lisp/doc-view.el (bookmark-make-record-default): Adjust declaration. * lisp/gnus/gnus-sum.el (bookmark-make-record-default): Adjust declaration. ^ permalink raw reply [flat|nested] 78+ messages in thread
end of thread, other threads:[~2010-09-11 12:02 UTC | newest] Thread overview: 78+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-06-29 12:43 No answer on bugs Thierry Volpiatto 2010-06-29 13:12 ` Lennart Borgman 2010-06-29 13:54 ` Karl Fogel 2010-06-29 14:14 ` Thierry Volpiatto 2010-06-29 19:26 ` Tassilo Horn 2010-06-29 19:57 ` Thierry Volpiatto 2010-06-29 20:10 ` Tassilo Horn 2010-06-29 20:16 ` Thierry Volpiatto 2010-07-13 21:31 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Karl Fogel 2010-07-13 21:31 ` Karl Fogel 2010-04-19 17:07 ` bug#5975: 24.0.50; [PATCH]Feature request: bookmarking from gnus article buffer Thierry Volpiatto 2010-05-17 14:14 ` Thierry Volpiatto 2010-07-13 21:46 ` bug#5975: Bazaar branch where this is being fixed Karl Fogel 2010-07-13 23:30 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Glenn Morris 2010-07-14 19:48 ` bug#5975: [PATCH] Allow using C-w (bookmark-yank-word) when bookmarking from a gnus article buffer Thierry Volpiatto 2010-07-13 21:41 ` bug#5975: Base patch for bug #5975 (bookmarking from Gnus Article buffer) Karl Fogel 2010-07-13 21:41 ` Karl Fogel 2010-07-14 8:29 ` Thierry Volpiatto 2010-07-14 8:37 ` Eli Zaretskii 2010-07-14 9:06 ` Thierry Volpiatto 2010-07-14 9:42 ` Eli Zaretskii 2010-07-14 10:07 ` Thierry Volpiatto 2010-07-14 10:18 ` Eli Zaretskii 2010-07-14 10:57 ` Thierry Volpiatto 2010-07-14 15:32 ` Karl Fogel 2010-07-13 23:30 ` Glenn Morris 2010-07-14 0:33 ` bug#5975: " Karl Fogel 2010-07-14 0:33 ` Karl Fogel 2010-07-14 8:55 ` bug#5975: " Andreas Schwab 2010-07-14 8:55 ` Andreas Schwab 2010-07-14 15:29 ` bug#5975: " Karl Fogel 2010-07-14 15:29 ` Karl Fogel 2010-07-14 5:03 ` Thierry Volpiatto 2010-07-14 16:06 ` Karl Fogel 2010-07-14 16:55 ` Karl Fogel 2010-06-30 18:16 ` No answer on bugs Ted Zlatanov 2010-06-30 18:36 ` Thierry Volpiatto 2010-06-30 19:23 ` more on anything.el inclusion (was: No answer on bugs) Ted Zlatanov 2010-06-30 20:10 ` more on anything.el inclusion Thierry Volpiatto 2010-06-30 22:59 ` Dan Nicolaescu 2010-07-01 5:53 ` Thierry Volpiatto 2010-07-01 6:48 ` Dan Nicolaescu 2010-07-01 7:50 ` Thierry Volpiatto 2010-07-01 8:36 ` Dan Nicolaescu 2010-07-01 8:53 ` Thierry Volpiatto 2010-07-01 16:02 ` Dan Nicolaescu 2010-07-01 16:33 ` Harald Hanche-Olsen 2010-07-01 16:43 ` Ted Zlatanov 2010-07-01 17:18 ` Thierry Volpiatto 2010-07-01 17:43 ` Dan Nicolaescu 2010-07-01 18:14 ` Thierry Volpiatto 2010-07-01 18:48 ` Ted Zlatanov 2010-07-01 18:57 ` Wojciech Meyer 2010-07-01 17:36 ` Harald Hanche-Olsen 2010-07-01 15:20 ` Anything Use Case (was: more on anything.el inclusion) Memnon Anon 2010-07-01 13:18 ` more on anything.el inclusion Ted Zlatanov 2010-07-01 14:15 ` Thierry Volpiatto 2010-07-01 14:48 ` Lennart Borgman 2010-07-01 15:55 ` Ted Zlatanov 2010-07-01 16:43 ` Lennart Borgman 2010-07-01 18:55 ` Ted Zlatanov 2010-07-01 22:08 ` Lennart Borgman 2010-07-09 14:46 ` Thierry Volpiatto 2010-07-17 13:37 ` rubikitch 2010-07-17 15:16 ` Thierry Volpiatto 2010-07-04 22:02 ` Stefan Monnier 2010-07-07 16:47 ` Ted Zlatanov 2010-07-23 15:35 ` Stefan Monnier 2010-07-23 21:49 ` rubikitch 2010-08-12 23:02 ` Ted Zlatanov 2010-08-24 19:24 ` rubikitch 2010-08-25 13:51 ` Juri Linkov 2010-09-11 12:02 ` Thierry Volpiatto 2010-09-11 11:59 ` Thierry Volpiatto -- strict thread matches above, loose matches on Subject: below -- 2010-07-10 18:27 MON KEY 2010-07-10 19:20 ` Thierry Volpiatto 2010-07-12 13:53 ` Ted Zlatanov [not found] <87630icytd.fsf@tux.homenetwork> 2010-07-14 16:44 ` bug#5975: [PATCH] Allow using C-w (bookmark-yank-word) when bookmarking from a gnus article buffer Karl Fogel
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.