* Re: Buttonize man page links [not found] ` <alfu5t$m59$1@quimby.gnus.org> @ 2002-09-09 12:43 ` Reiner Steib 2002-09-09 13:12 ` Simon Josefsson 0 siblings, 1 reply; 44+ messages in thread From: Reiner Steib @ 2002-09-09 12:43 UTC (permalink / raw) On Sun, Sep 08 2002, Simon Josefsson wrote: >> ftp(1) > > Wouldn't it be nice if Gnus buttonized such links? Yes, really nice. :-) Could we have an option to allow to specify the function to use? I'd prefer `woman' (Emacs 21) instead of `man'. Or should I really use "(fset 'man 'woman)"? And, what about your idea [1] to make customize-links buttonized? - M-x customize-variable RET gnus-list-identifiers RET - M-x customize-group RET gnus-article-treat RET I'd also like the following to be buttonized: - C-h v gnus-version RET - C-h f gnus RET - <f1> f gnus RET - M-x apropos foo RET - M-x apropos-variable foo RET - M-x apropos-command foo RET - ... At least the commands related to help or custom would be useful. And I don't think that they are more dangerous than links as <info://gnus/Top>. Sure, to buttonize all `M-x foo RET'-expressions would be too dangerous. Another feature request: Gnus shows news:<mid@fqdn> as links. But many people put MIDs in the text without "news:" (<mid@fqdn>) or even without "<" and ">" (mid@fqdn). WIBNI Gnus would buttonize those too? I know, that it's not really possible to distinguish MID's and mail addresses (without "mailto:") in this case. But couldn't we have a variable to allow: (a) always treat as MID (b) always treat as mail address (c) ask user (d) don't buttonize at all Bye, Reiner. [1] news:<iluheuqpqpa.fsf@barbar.josefsson.org> -- Test: emacs(1), etags(1), xemacs(1), gnuclient(1) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Buttonize man page links 2002-09-09 12:43 ` Buttonize man page links Reiner Steib @ 2002-09-09 13:12 ` Simon Josefsson 2002-09-09 14:12 ` Reiner Steib ` (3 more replies) 0 siblings, 4 replies; 44+ messages in thread From: Simon Josefsson @ 2002-09-09 13:12 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > Could we have an option to allow to specify the function to use? I'd > prefer `woman' (Emacs 21) instead of `man'. Or should I really use > "(fset 'man 'woman)"? That's not very customize friendly. I added the variable `gnus-button-man-handler'. But Customize behaves rather weird on it, when I mouse-2 to change it to woman it works, but when I mouse-2 and select man again, nothing happens. Is the :type bad? (defcustom gnus-button-man-handler 'man "Function to use for displaying man pages. The function must take at least one argument with a string naming the man page." :type '(choice (function :tag "Man" man) (function :tag "Woman" woman) function) :group 'gnus-article-buttons) > And, what about your idea [1] to make customize-links buttonized? > > - M-x customize-variable RET gnus-list-identifiers RET > - M-x customize-group RET gnus-article-treat RET > > I'd also like the following to be buttonized: > > - C-h v gnus-version RET > - C-h f gnus RET > - <f1> f gnus RET > - M-x apropos foo RET > - M-x apropos-variable foo RET > - M-x apropos-command foo RET > - ... > > At least the commands related to help or custom would be useful. And I > don't think that they are more dangerous than links as > <info://gnus/Top>. Sure, to buttonize all `M-x foo RET'-expressions > would be too dangerous. I like it. But maybe there should be some policy, I have a feeling we are beginning to add a gazillion buttons. Maybe things will get slow. Do people care? Opinions? IMHO as long as false positives are very uncommon, I like the buttons. > Another feature request: > > Gnus shows news:<mid@fqdn> as links. But many people put MIDs in the > text without "news:" (<mid@fqdn>) or even without "<" and ">" > (mid@fqdn). WIBNI Gnus would buttonize those too? I know, that it's > not really possible to distinguish MID's and mail addresses (without > "mailto:") in this case. But couldn't we have a variable to allow: > > (a) always treat as MID > (b) always treat as mail address > (c) ask user > (d) don't buttonize at all Patches are welcome, I think. :-) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Buttonize man page links 2002-09-09 13:12 ` Simon Josefsson @ 2002-09-09 14:12 ` Reiner Steib 2002-09-09 14:16 ` Per Abrahamsen ` (2 subsequent siblings) 3 siblings, 0 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-09 14:12 UTC (permalink / raw) On Mon, Sep 09 2002, Simon Josefsson wrote: > I added the variable `gnus-button-man-handler'. Thanks! > But Customize behaves rather weird on it, when I mouse-2 to change it > to woman it works, but when I mouse-2 and select man again, nothing > happens. Is the :type bad? I don't know, but this one (borrowed from `gnus-article-sort-functions', w/o `repeat') works for me: (defcustom gnus-button-man-handler 'man "Function to use for displaying man pages. The function must take at least one argument with a string naming the man page." :type '(choice (function-item man) (function-item woman) (function :tag "other"))) Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Buttonize man page links 2002-09-09 13:12 ` Simon Josefsson 2002-09-09 14:12 ` Reiner Steib @ 2002-09-09 14:16 ` Per Abrahamsen 2002-09-09 17:15 ` Andreas Fuchs 2002-09-10 7:26 ` Mats Lidell 2002-09-18 20:41 ` [patch] More buttons for emacs stuff, MIDs, mail addresses (was: Buttonize man page links) Reiner Steib 3 siblings, 1 reply; 44+ messages in thread From: Per Abrahamsen @ 2002-09-09 14:16 UTC (permalink / raw) Simon Josefsson <jas@extundo.com> writes: > But Customize behaves rather weird on it, when I mouse-2 to change it > to woman it works, but when I mouse-2 and select man again, nothing > happens. Is the :type bad? Yes, use function-item instead of function for consts. (defcustom gnus-button-man-handler 'man "Function to use for displaying man pages. The function must take at least one argument with a string naming the man page." :type '(choice (function-item :tag "Man" man) (function-item :tag "Woman" woman) (function :tag "Other")) :group 'gnus-article-buttons) > I like it. But maybe there should be some policy, I have a feeling we > are beginning to add a gazillion buttons. Maybe things will get slow. > Do people care? Opinions? We might want button types specific for groups whose name match some regexp. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Buttonize man page links 2002-09-09 14:16 ` Per Abrahamsen @ 2002-09-09 17:15 ` Andreas Fuchs 0 siblings, 0 replies; 44+ messages in thread From: Andreas Fuchs @ 2002-09-09 17:15 UTC (permalink / raw) Today, Per Abrahamsen <abraham@dina.kvl.dk> wrote: >> I like it. But maybe there should be some policy, I have a feeling >> we are beginning to add a gazillion buttons. Maybe things will get >> slow. Do people care? Opinions? > > We might want button types specific for groups whose name match some > regexp. <shameless type=plug> For an example see gnus-BTS.el in debian's debbugs-el or on <URL:http://asf.void.at/emacs/gnus-BTS.el>. (-: </shameless> -- Andreas Fuchs, <asf@acm.org>, asf@jabber.at, antifuchs Was I helpful? Let others know: http://svcs.affero.net/rm.php?r=antifuchs ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Buttonize man page links 2002-09-09 13:12 ` Simon Josefsson 2002-09-09 14:12 ` Reiner Steib 2002-09-09 14:16 ` Per Abrahamsen @ 2002-09-10 7:26 ` Mats Lidell 2002-09-18 20:41 ` [patch] More buttons for emacs stuff, MIDs, mail addresses (was: Buttonize man page links) Reiner Steib 3 siblings, 0 replies; 44+ messages in thread From: Mats Lidell @ 2002-09-10 7:26 UTC (permalink / raw) >>>>> Simon wrote: Simon> I like it. But maybe there should be some policy, I have a Simon> feeling we are beginning to add a gazillion buttons. Maybe Simon> things will get slow. Do people care? Opinions? Buttonizeing all over the place is what a package called Hyperbole once was created for. Why limit the buttons to just gnus. They will be useful elsewhere to. Yours -- %% Mats ^ permalink raw reply [flat|nested] 44+ messages in thread
* [patch] More buttons for emacs stuff, MIDs, mail addresses (was: Buttonize man page links) 2002-09-09 13:12 ` Simon Josefsson ` (2 preceding siblings ...) 2002-09-10 7:26 ` Mats Lidell @ 2002-09-18 20:41 ` Reiner Steib 2002-09-19 11:42 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 2002-09-20 15:58 ` Kai Großjohann 3 siblings, 2 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-18 20:41 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 733 bytes --] On Mon, Sep 09 2002, Simon Josefsson wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> writes: [...] >> And, what about your idea [1] to make customize-links buttonized? [...] > I like it. But maybe there should be some policy, I have a feeling we > are beginning to add a gazillion buttons. Maybe things will get slow. > Do people care? Opinions? > > IMHO as long as false positives are very uncommon, I like the buttons. Me too! >> Another feature request: >> >> Gnus shows news:<mid@fqdn> as links. But many people put MIDs in the >> text without "news:" (<mid@fqdn>) or even without "<" and ">" >> (mid@fqdn). WIBNI Gnus would buttonize those too? [...] > Patches are welcome, I think. :-) I hope so. ;-) Here is my patch: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: gnus-art.buttons.patch --] [-- Type: text/x-patch, Size: 8514 bytes --] Index: lisp/gnus-art.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v retrieving revision 6.237 diff -u -u -w -r6.237 gnus-art.el --- lisp/gnus-art.el 2002/09/18 14:50:20 6.237 +++ lisp/gnus-art.el 2002/09/18 21:21:54 @@ -5274,6 +5274,120 @@ (function :tag "Other")) :group 'gnus-article-buttons) +(defcustom gnus-button-prefer-mid-or-mail 'guess + "What to do when the button on a string as \"foo123@bar.com\" is pushed. +Strings like this can be either a message ID or a mail address. If the +variable is set to the symbol `ask', query the user what do do. If it is the +symbol `guess', Gnus will do a guess and query the user what do do if it is +ambiguous. If it is one of the sybols `mid' or `mail', Gnus will always assume +that the string is a message ID or a mail address, respectivly. See the +variable `gnus-button-guessed-mid-regexp' for details concerning the +guessing." + ;; FIXME: doc-string could/should be improved. + :group 'gnus-article-buttons + :type '(choice (const ask) + (const guess) + (const mid) + (const mail))) + +(defcustom gnus-button-guessed-mid-regexp + (concat "^<?\\(slrn\\|Pine\\)\\." + "\\|\\.fsf@\\|@4ax\\.com\\|@ID-[0-9]+\\.[a-zA-Z]+\\.dfncis\\.de" + "\\|^<?.*[0-9].*[0-9].*[0-9].*[0-9].*[0-9].*[0-9].*@") + "Regular expression that matches message IDs and not mail addresses." + ;; TODO: Incorporate more matches from + ;; <URL:http://piology.org/perl/id-or-mail.pl.html>. I.e. translate the + ;; Perl-REs to Elisp-REs. + :group 'gnus-article-buttons + :type 'regexp) + +(defun gnus-button-handle-mid-or-mail (mid-or-mail) + (let* ((pref gnus-button-prefer-mid-or-mail) + (url-mid (concat "news" ":" mid-or-mail)) + (url-mailto (concat "mailto" ":" mid-or-mail))) + (gnus-message 9 "mid-or-mail=%s" mid-or-mail) + ;; If it looks like a MID (well known readers or servers) use 'mid, + ;; otherwise 'ask the user. + (if (eq pref 'guess) + (if (string-match gnus-button-guessed-mid-regexp mid-or-mail) + (setq pref 'mid) + (setq pref 'ask))) + (if (eq pref 'ask) + (save-window-excursion + (if (y-or-n-p (concat "Is <" mid-or-mail "> a mail address? ")) + (setq pref 'mail) + (setq pref 'mid)))) + (cond ((eq pref 'mid) + (gnus-message 9 "calling `gnus-button-handle-news' %s" url-mid) + (gnus-button-handle-news url-mid)) + ((eq pref 'mail) + (gnus-message 9 "calling `gnus-url-mailto' %s" url-mailto) + (gnus-url-mailto url-mailto))))) + +(defun gnus-button-handle-custom (url) + "Follow a Custom URL." + (customize-apropos (gnus-url-unhex-string url))) + +(defvar gnus-button-handle-describe-prefix "^\\(C-h\\|<?[F1]1>?\\)") + +(defun gnus-button-handle-describe-function (url) + "Call describe-function when pushing the corresponing URL button." + (describe-function + (intern + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) + +(defun gnus-button-handle-describe-variable (url) + "Call describe-variable when pushing the corresponing URL button." + (describe-variable + (intern + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) + +;; FIXME: Is is possible to implement this? Else it should be removed here +;; and in `gnus-button-alist'. +(defun gnus-button-handle-describe-key (url) + "Call describe-key when pushing the corresponing URL button." + (error "not implemented")) + +(defun gnus-button-handle-apropos (url) + "Call apropos when pushing the corresponing URL button." + (apropos (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) + +(defun gnus-button-handle-apropos-command (url) + "Call apropos when pushing the corresponing URL button." + (apropos-command (gnus-replace-in-string url + gnus-button-handle-describe-prefix ""))) + +(defun gnus-button-handle-apropos-variable (url) + "Call apropos when pushing the corresponing URL button." + (apropos-variable (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) + +(defcustom gnus-button-man-level 5 + "*Integer that says how many man-related buttons Gnus will show. +The higher the number, the more buttons will appear and the more false +positves are possible. Note that you can set this variable local to +specifific groups. Setting it higher in Unix groups is probably a good idea. +See Info node `(gnus)Group Parameters' and the variable `gnus-parameters' on +how to set variables in specific groups." + :group 'gnus-article-buttons + :type 'integer) + +(defcustom gnus-button-emacs-level 5 + "*Integer that says how many emacs-related buttons Gnus will show. +The higher the number, the more buttons will appear and the more false +positves are possible. Note that you can set this variable local to +specifific groups. Setting it higher in Emacs or Gnus related groups is +probably a good idea.See Info node `(gnus)Group Parameters' and the variable +`gnus-parameters' on how to set variables in specific groups." + :group 'gnus-article-buttons + :type 'integer) + +(defcustom gnus-button-mail-level 5 + "*Integer that says how many buttons for message IDs or mail addresses will appear. +The higher the number, the more buttons will appear and the more false +positves are possible." + :group 'gnus-article-buttons + :type 'integer) + (defcustom gnus-button-alist '(("<\\(url:[>\n\t ]*?\\)?\\(nntp\\|news\\):[>\n\t ]*\\([^>\n\t ]*@[^>\n\t ]*\\)>" 0 t gnus-button-handle-news 3) @@ -5289,14 +5403,48 @@ ("mailto:\\([-a-zA-Z.@_+0-9%=?]+\\)" 0 t gnus-url-mailto 1) ("\\bmailto:\\([^ \n\t]+\\)" 0 t gnus-url-mailto 1) ;; This is info - ("\\binfo:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 t + ("\\binfo:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 gnus-button-handle-info 2) + ;; This is custom + ("\\bcustom:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 + (>= gnus-button-emacs-level 5) gnus-button-handle-custom 2) + ("M-x[ \t\n]customize-[^ ]+[ \t\n]RET[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 + (>= gnus-button-emacs-level 1) gnus-button-handle-custom 1) + ;; Emacs help commands + ("M-x[ \t\n]apropos[ \t\n]\\([^ ]+\\)[ \t\n]RET" + ;; regexp doesn't match arguments containing ` '. + 0 (>= gnus-button-emacs-level 1) gnus-button-handle-apropos 1) + ("M-x[ \t\n]apropos-command[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 + (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-command 1) + ("M-x[ \t\n]apropos-variable[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 + (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-variable 1) + ("\\W\\(C-h\\|<?[F1]1>?\\)[ \t\n]f[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 + (>= gnus-button-emacs-level 1) gnus-button-handle-describe-function 2) + ("\\W\\(C-h\\|<?[F1]1>?\\)[ \t\n]v[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 + (>= gnus-button-emacs-level 1) gnus-button-handle-describe-variable 2) + ("\\W\\(C-h\\|<?[F1]1>?\\)[ \t\n]k[ \t\n]\\([^ ]+\\)[ \t\n]" 0 + ;; this regexp needs to be fixed! + (>= gnus-button-emacs-level 9) gnus-button-handle-describe-key 2) ;; This is how URLs _should_ be embedded in text... ("<URL: *\\([^<>]*\\)>" 1 t gnus-button-embedded-url 1) ;; Raw URLs. (gnus-button-url-regexp 0 t browse-url 0) ;; man pages - ("\\b\\([a-z]+\\)([0-9])\\W" 0 t gnus-button-handle-man 1)) + ("\\b\\([a-z][a-z]+\\)([0-9])\\W" 0 (>= gnus-button-man-level 1) + gnus-button-handle-man 1) + ;; more man pages: resolv.conf(5), iso_8859-1(7), xterm(1x) + ("\\b\\([a-zA-Z][-_.a-zA-Z0-9]+\\)([0-9]x?)\\W" 0 + (>= gnus-button-man-level 3) gnus-button-handle-man 3) + ;; even more: Apache::PerlRun(3pm), PDL::IO::FastRaw(3pm), SoWWWAnchor(3iv) + ("\\b\\([a-zA-Z][-_.:a-zA-Z0-9]+\\)([0-9][a-z]*)\\W" 0 + (>= gnus-button-man-level 5) gnus-button-handle-man 1) + ;; MID or mail: To avoid too many false positives we don't try to catch + ;; all kind of allowed MIDs or mail addresses. Domain part must contain + ;; at least one dot. TLD must contain two or three chars or be a know TLD + ;; (info|name|...). Put this entry near the _end_ of `gnus-button-alist' + ;; so that non-ambiguous entries (see above) match first. + ("\\b\\(<?[a-zA-Z0-9][^>)!;:,{}\n\t ]*@[a-zA-Z0-9][-.a-zA-Z0-9]+\\.\\([a-zA-Z][a-zA-Z]\\([a-zA-Z]\\)?\\|[Ii][Nn][Ff][Oo]\\|[Nn][Aa][Mm][Ee]\\)>?\\)\\b" + 0 (>= gnus-button-mail-level 5) gnus-button-handle-mid-or-mail 1)) "*Alist of regexps matching buttons in article bodies. Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where [-- Attachment #3: Type: text/plain, Size: 2875 bytes --] I used it for some days now. I tried to get rid of false positives, especially for `gnus-button-handle-man' and `gnus-button-handle-mid-or-mail'. Needless to say that it works for me. ;-) Suggested ChangeLog entry: --8<---------------cut here---------------start------------->8--- * gnus-art.el (gnus-button-handle-custom, gnus-button-handle-mid-or-mail, gnus-button-handle-describe-{function,variable,key}, gnus-button-handle-apropos{,command,variable}): New functions. (gnus-button-prefer-mid-or-mail,gnus-button-guessed-mid-regexp, gnus-button-{man,emacs,mail}-level): New variables. (gnus-button-alist): Use the above to buttonize emacs and mail related links. --8<---------------cut here---------------end--------------->8--- I have to mention, that the stuff related to custom is borrowed from Simon's previous posting. As I'm a Lisp beginner I would appreciate your comments. Some remarks and questions: (1) Is `intern' (used in `gnus-button-handle-describe-*') the correct way to get a symbol corresponding to a given string? `intern' creates a symbol if it doesn't exist. Should we avoid this side effect in `gnus-button-handle-describe-{function,variable}'? (2) Feel free to change (or suggest changes to) the doc-strings. I'm not a native speaker, neither for English nor Gnus-speek. :-) (3) I couldn't find out how to implement `g-b-handle-describe-key'. I added a regexp (needs to be improved!) in the list and a dummy function. But the button is not enabled by default. If it doesn't seem to be feasible this should be removed. (4) The regexp for g-b-handle-apropos could be improved too. It only matches expressions without space up to now: "M-x[ \t\n]apropos[ \t\n]\\([^ ]+\\)[ \t\n]RET" (5) Per Abrahamsen suggested in news:<rjvg5fz1rr.fsf@zuse.dina.kvl.dk>: "We might want button types specific for groups whose name match some regexp.". Why don't we use the `FORM' mentioned in the doc-string of `gnus-button-alist' in combination with group parameters or `gnus-parameters'? I've chosen this way and added the `gnus-button-*-level' variables (should we use a different naming convention?). The user may set this variables specific to certain groups. If he doesn't like buttons, he can set the `g-b-*-level' variables to zero. Andreas Fuchs mentioned <URL:http://asf.void.at/emacs/gnus-BTS.el>: He uses `in-debian-group-p' (a variable. BTW: shouldn't *-p be a function by convention?) and `gnus-article-mode-hook' to set the additional buttons. Are there advantages over the `FORM'/gnus-parameters approach described above? (6) I've signed the paperwork of the FSF for Emacs. (7) In news:<v9elbrt7tc.fsf@marauder.physik.uni-ulm.de> (in gnus.test) you'll see some examples of the new buttons. Hope you like it. Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-18 20:41 ` [patch] More buttons for emacs stuff, MIDs, mail addresses (was: Buttonize man page links) Reiner Steib @ 2002-09-19 11:42 ` Reiner Steib 2002-09-20 15:58 ` Kai Großjohann 1 sibling, 0 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-19 11:42 UTC (permalink / raw) On Wed, Sep 18 2002, Reiner Steib wrote: > ;; This is info > - ("\\binfo:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 t > + ("\\binfo:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 > gnus-button-handle-info 2) Sorry, in the last line, the FORM was missing. In `gnus-art.el' (not in the patch file) it should read: ;; This is info ("\\binfo:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 (>= gnus-button-emacs-level 1) gnus-button-handle-info 2) ;; This is custom Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-18 20:41 ` [patch] More buttons for emacs stuff, MIDs, mail addresses (was: Buttonize man page links) Reiner Steib 2002-09-19 11:42 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib @ 2002-09-20 15:58 ` Kai Großjohann 2002-09-23 18:12 ` Reiner Steib 1 sibling, 1 reply; 44+ messages in thread From: Kai Großjohann @ 2002-09-20 15:58 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > I hope so. ;-) Here is my patch: Committed. (Including the fix in the second message.) kai -- ~/.signature is: umop 3p!sdn (Frank Nobis) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-20 15:58 ` Kai Großjohann @ 2002-09-23 18:12 ` Reiner Steib 2002-09-23 19:55 ` Kai Großjohann 2002-09-24 19:28 ` Raymond Scholz 0 siblings, 2 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-23 18:12 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 647 bytes --] On Fri, Sep 20 2002, Kai Großjohann wrote: > Committed. (Including the fix in the second message.) On Mon, Sep 23 2002, Simon Josefsson wrote: [ ... in gnus.test: <iluofaoab2o.fsf@latte.josefsson.org> ] > False positive button: > > [...] to=<anagula@globespan.net>, [...] ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is/was buttonized I already had fixed this kind of false positives in my copy. Did you encounters more false positives or other problems? There are also wrong buttons for man pages like this: send-pr(1) --> pr ssh-keyscan(1) --> keyscan This patch should fix the above mentions problems: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: fix for man buttons --] [-- Type: text/x-patch, Size: 2310 bytes --] Index: gnus-art.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v retrieving revision 6.238 diff -u -w -r6.238 gnus-art.el --- gnus-art.el 2002/09/20 16:40:28 6.238 +++ gnus-art.el 2002/09/23 18:47:53 @@ -5291,8 +5291,9 @@ (const mail))) (defcustom gnus-button-guessed-mid-regexp - (concat "^<?\\(slrn\\|Pine\\)\\." - "\\|\\.fsf@\\|@4ax\\.com\\|@ID-[0-9]+\\.[a-zA-Z]+\\.dfncis\\.de" + (concat + "^<?\\(slrn\\|Pine\\.\\)" + "\\|\\.fsf@\\|\\.ln@\\|@4ax\\.com\\|@ID-[0-9]+\\.[a-zA-Z]+\\.dfncis\\.de" "\\|^<?.*[0-9].*[0-9].*[0-9].*[0-9].*[0-9].*[0-9].*@") "Regular expression that matches message IDs and not mail addresses." ;; TODO: Incorporate more matches from @@ -5430,11 +5431,13 @@ ;; Raw URLs. (gnus-button-url-regexp 0 t browse-url 0) ;; man pages - ("\\b\\([a-z][a-z]+\\)([0-9])\\W" 0 (>= gnus-button-man-level 1) + ("\\b\\([a-z][a-z]+\\)([0-9])\\W" 0 + (and (>= gnus-button-man-level 1) (< gnus-button-man-level 3)) gnus-button-handle-man 1) ;; more man pages: resolv.conf(5), iso_8859-1(7), xterm(1x) - ("\\b\\([a-zA-Z][-_.a-zA-Z0-9]+\\)([0-9]x?)\\W" 0 - (>= gnus-button-man-level 3) gnus-button-handle-man 3) + ("\\b\\([a-zA-Z][-_.a-zA-Z0-9]+\\)([0-9])\\W" 0 + (and (>= gnus-button-man-level 3) (< gnus-button-man-level 5)) + gnus-button-handle-man 1) ;; even more: Apache::PerlRun(3pm), PDL::IO::FastRaw(3pm), SoWWWAnchor(3iv) ("\\b\\([a-zA-Z][-_.:a-zA-Z0-9]+\\)([0-9][a-z]*)\\W" 0 (>= gnus-button-man-level 5) gnus-button-handle-man 1) @@ -5443,7 +5446,7 @@ ;; at least one dot. TLD must contain two or three chars or be a know TLD ;; (info|name|...). Put this entry near the _end_ of `gnus-button-alist' ;; so that non-ambiguous entries (see above) match first. - ("\\b\\(<?[a-zA-Z0-9][^>)!;:,{}\n\t ]*@[a-zA-Z0-9][-.a-zA-Z0-9]+\\.\\([a-zA-Z][a-zA-Z]\\([a-zA-Z]\\)?\\|[Ii][Nn][Ff][Oo]\\|[Nn][Aa][Mm][Ee]\\)>?\\)\\b" + ("\\b\\(<?[a-zA-Z0-9][^<>\")!;:,{}\n\t ]*@[a-zA-Z0-9][-.a-zA-Z0-9]+\\.\\([a-zA-Z][a-zA-Z]\\([a-zA-Z]\\)?\\|[Ii][Nn][Ff][Oo]\\|[Nn][Aa][Mm][Ee]\\)>?\\)\\b" 0 (>= gnus-button-mail-level 5) gnus-button-handle-mid-or-mail 1)) "*Alist of regexps matching buttons in article bodies. [-- Attachment #3: Type: text/plain, Size: 343 bytes --] Suggested ChangeLog entry: * gnus-art.el (gnus-button-guessed-mid-regexp): Improved regexp. (gnus-button-alist): Improved regexp for gnus-button-handle-mid-or-mail (false positives), fixed gnus-button-handle-man entries. Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-23 18:12 ` Reiner Steib @ 2002-09-23 19:55 ` Kai Großjohann 2002-09-24 0:32 ` Katsumi Yamaoka 2002-09-24 19:28 ` Raymond Scholz 1 sibling, 1 reply; 44+ messages in thread From: Kai Großjohann @ 2002-09-23 19:55 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > This patch should fix the above mentions problems: Committed. Please test. kai -- ~/.signature is: umop 3p!sdn (Frank Nobis) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-23 19:55 ` Kai Großjohann @ 2002-09-24 0:32 ` Katsumi Yamaoka 2002-09-24 8:07 ` Kai Großjohann 2002-09-24 20:29 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 0 siblings, 2 replies; 44+ messages in thread From: Katsumi Yamaoka @ 2002-09-24 0:32 UTC (permalink / raw) >>>>> In <vafn0q8h46a.fsf@lucy.cs.uni-dortmund.de> >>>>> grossjoh@lothlorien.cs.uni-dortmund.de (Kai Großjohann) wrote: > Committed. Please test. Unfortunately, XEmacs doesn't have the command apropos-variable. Compiling /Work/gnus/lisp/gnus-art.el... While compiling the end of the data in file /Work/gnus/lisp/gnus-art.el: ** the function apropos-variable is not known to be defined. Wrote /Work/gnus/lisp/gnus-art.elc -- Katsumi Yamaoka <yamaoka@jpl.org> ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 0:32 ` Katsumi Yamaoka @ 2002-09-24 8:07 ` Kai Großjohann 2002-09-24 12:40 ` Katsumi Yamaoka 2002-09-24 20:28 ` XEmacs compiler warnings (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) Reiner Steib 2002-09-24 20:29 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 1 sibling, 2 replies; 44+ messages in thread From: Kai Großjohann @ 2002-09-24 8:07 UTC (permalink / raw) Cc: ding Katsumi Yamaoka <yamaoka@jpl.org> writes: > Unfortunately, XEmacs doesn't have the command apropos-variable. > > Compiling /Work/gnus/lisp/gnus-art.el... > While compiling the end of the data in file /Work/gnus/lisp/gnus-art.el: > ** the function apropos-variable is not known to be defined. > Wrote /Work/gnus/lisp/gnus-art.elc What does one use on XEmacs instead? I guess it's easy enough to frob gnus-button-handle-apropos-variable. kai -- ~/.signature is: umop 3p!sdn (Frank Nobis) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 8:07 ` Kai Großjohann @ 2002-09-24 12:40 ` Katsumi Yamaoka 2002-09-24 20:28 ` XEmacs compiler warnings (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) Reiner Steib 1 sibling, 0 replies; 44+ messages in thread From: Katsumi Yamaoka @ 2002-09-24 12:40 UTC (permalink / raw) >>>>> In <vafr8fj3j57.fsf@lucy.cs.uni-dortmund.de> >>>>> grossjoh@lothlorien.cs.uni-dortmund.de (Kai Großjohann) wrote: >> Unfortunately, XEmacs doesn't have the command apropos-variable. > What does one use on XEmacs instead? I guess it's easy enough to > frob gnus-button-handle-apropos-variable. (defun gnus-button-handle-apropos-variable (url) "Call apropos when pushing the corresponing URL button." (unwind-protect (progn (load "/usr/local/share/emacs/20.7/lisp/apropos.el" nil t t) (apropos-variable (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) (load "apropos" nil t))) Though this is a joke (but it works :-), XEmacs' apropos.el differs from FSFmacs' so much. Probably, we should write apropos-variable for XEmacs from scratch. -- Katsumi Yamaoka <yamaoka@jpl.org> ^ permalink raw reply [flat|nested] 44+ messages in thread
* XEmacs compiler warnings (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) 2002-09-24 8:07 ` Kai Großjohann 2002-09-24 12:40 ` Katsumi Yamaoka @ 2002-09-24 20:28 ` Reiner Steib 2002-09-25 13:16 ` XEmacs compiler warnings Kai Großjohann 1 sibling, 1 reply; 44+ messages in thread From: Reiner Steib @ 2002-09-24 20:28 UTC (permalink / raw) On Tue, Sep 24 2002, Kai Großjohann wrote: > Katsumi Yamaoka <yamaoka@jpl.org> writes: > >> Unfortunately, XEmacs doesn't have the command apropos-variable. >> >> Compiling /Work/gnus/lisp/gnus-art.el... >> While compiling the end of the data in file /Work/gnus/lisp/gnus-art.el: >> ** the function apropos-variable is not known to be defined. >> Wrote /Work/gnus/lisp/gnus-art.elc > > What does one use on XEmacs instead? I guess it's easy enough to > frob gnus-button-handle-apropos-variable. It seem that there no equivalent command in XEmacs. Should we use this (but we'll still see the compiler warning)? (defun gnus-button-handle-apropos-variable (url) "Call apropos when pushing the corresponding URL button." (if (fboundp 'apropos-variable) (apropos (gnus-replace-in-string url gnus-button-handle-describe-prefix "")) (apropos-variable (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) There are many other warnings when compiling Oort with XEmacs (21.1.14): No xml: Cannot open load file While compiling query-dns in file .../lisp/dns.el: ** open-network-stream called with 5 arguments, but accepts only 4 While compiling gnus-summary-pipe-to-muttprint in file .../lisp/gnus-art.el: ** read-string called with 4 arguments, but accepts only 1-3 While compiling gnus-completing-read in file .../lisp/gnus-util.el: ** completing-read called with 7 arguments, but accepts only 2-6 While compiling imap-digest-md5-auth in file .../lisp/imap.el: ** base64-encode-string called with 2 arguments, but accepts only 1 While compiling mm-view-pkcs7-decrypt in file .../lisp/mm-view.el: ** completing-read called with 7 arguments, but accepts only 2-6 While compiling toplevel forms in file .../lisp/nnmaildir.el: ** Variable reference to constant :prefix [... much more ...] ** Variable reference to constant :create-dir While compiling rfc2047-b-encode-region in file .../lisp/rfc2047.el: ** base64-encode-region called with 3 arguments, but accepts only 2 Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: XEmacs compiler warnings 2002-09-24 20:28 ` XEmacs compiler warnings (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) Reiner Steib @ 2002-09-25 13:16 ` Kai Großjohann 2002-09-25 17:44 ` Reiner Steib 0 siblings, 1 reply; 44+ messages in thread From: Kai Großjohann @ 2002-09-25 13:16 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > On Tue, Sep 24 2002, Kai Großjohann wrote: > >> Katsumi Yamaoka <yamaoka@jpl.org> writes: >> >>> Unfortunately, XEmacs doesn't have the command apropos-variable. >>> >>> Compiling /Work/gnus/lisp/gnus-art.el... >>> While compiling the end of the data in file /Work/gnus/lisp/gnus-art.el: >>> ** the function apropos-variable is not known to be defined. >>> Wrote /Work/gnus/lisp/gnus-art.elc >> >> What does one use on XEmacs instead? I guess it's easy enough to >> frob gnus-button-handle-apropos-variable. > > It seem that there no equivalent command in XEmacs. Should we use this > (but we'll still see the compiler warning)? > > (defun gnus-button-handle-apropos-variable (url) > "Call apropos when pushing the corresponding URL button." > (if (fboundp 'apropos-variable) > (apropos > (gnus-replace-in-string url gnus-button-handle-describe-prefix "")) > (apropos-variable > (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) Yes, I'll do something like this. (It will avoid the bytecompiler warnings, too, I think. Please check.) > There are many other warnings when compiling Oort with XEmacs > (21.1.14): Let's work on them one by one. Or is your XEmacs too old? kai -- ~/.signature is: umop 3p!sdn (Frank Nobis) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: XEmacs compiler warnings 2002-09-25 13:16 ` XEmacs compiler warnings Kai Großjohann @ 2002-09-25 17:44 ` Reiner Steib 0 siblings, 0 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-25 17:44 UTC (permalink / raw) On Wed, Sep 25 2002, Kai Großjohann wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> writes: [...] > Yes, I'll do something like this. (It will avoid the bytecompiler > warnings, too, I think. Please check.) It did so. Thanks. >> There are many other warnings when compiling Oort with XEmacs >> (21.1.14): ,----[ <info://gnus/Emacs/XEmacs+Code> ] | This means that Gnus will byte-compile under Emacs with nary a | warning, while XEmacs will pump out gigabytes of warnings while | byte-compiling. `---- Maybe there should be some wrapper functions as described in this info node? > Let's work on them one by one. I could collect the doc-strings for the functions in question from XEmacs 21.1.14 if this is useful. > Or is your XEmacs too old? I only used XEmacs to reproduce the warning Katsumi mentioned. I only use Emacs otherwise. Yes, XEmacs 21.1.14 is quite old. But is this statement from the manual still valid for Oort? ,----[ <info://gnus/Emacsen> ] | Gnus should work on : | * Emacs 20.3 and up. | * XEmacs 20.4 and up. `---- Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 0:32 ` Katsumi Yamaoka 2002-09-24 8:07 ` Kai Großjohann @ 2002-09-24 20:29 ` Reiner Steib 2002-09-24 20:39 ` Paul Jarc 2002-09-25 13:52 ` Kai Großjohann 1 sibling, 2 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-24 20:29 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 690 bytes --] On Tue, Sep 24 2002, Katsumi Yamaoka wrote: >>>>>> In <vafn0q8h46a.fsf@lucy.cs.uni-dortmund.de> >>>>>> grossjoh@lothlorien.cs.uni-dortmund.de (Kai Großjohann) wrote: > >> Committed. Please test. > > Unfortunately, XEmacs doesn't have the command apropos-variable. The attached patch uses `apropos' for XEmacs and ... * gnus-art.el (gnus-button-guessed-mid-regexp): Improved regexp. (gnus-button-handle-describe-{function,variable,key}, gnus-button-handle-apropos{,-command}): Fixed typos in doc-strings. (gnus-button-handle-apropos-variable): Use `apropos' in XEmacs. (gnus-button-alist): Fixed missing "RET" and allow more whitespace in "M-x apropos" regexps. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: buttons.03.patch --] [-- Type: text/x-patch, Size: 4960 bytes --] Index: gnus-art.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v retrieving revision 6.241 diff -u -w -r6.241 gnus-art.el --- gnus-art.el 2002/09/24 17:16:49 6.241 +++ gnus-art.el 2002/09/24 20:20:57 @@ -5295,7 +5295,8 @@ (defcustom gnus-button-guessed-mid-regexp (concat "^<?\\(slrn\\|Pine\\.\\)" - "\\|\\.fsf@\\|\\.ln@\\|@4ax\\.com\\|@ID-[0-9]+\\.[a-zA-Z]+\\.dfncis\\.de" + "\\|\\.fsf@\\|\\.fsf_-_@\\|\\.ln@" + "\\|@4ax\\.com\\|@ID-[0-9]+\\.[a-zA-Z]+\\.dfncis\\.de" "\\|^<?.*[0-9].*[0-9].*[0-9].*[0-9].*[0-9].*[0-9].*@") "Regular expression that matches message IDs and not mail addresses." ;; TODO: Incorporate more matches from @@ -5331,16 +5332,16 @@ "Follow a Custom URL." (customize-apropos (gnus-url-unhex-string url))) -(defvar gnus-button-handle-describe-prefix "^\\(C-h\\|<?[F1]1>?\\)") +(defvar gnus-button-handle-describe-prefix "^\\(C-h\\|<?[Ff]1>?\\)") (defun gnus-button-handle-describe-function (url) - "Call describe-function when pushing the corresponing URL button." + "Call describe-function when pushing the corresponding URL button." (describe-function (intern (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) (defun gnus-button-handle-describe-variable (url) - "Call describe-variable when pushing the corresponing URL button." + "Call describe-variable when pushing the corresponding URL button." (describe-variable (intern (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) @@ -5348,21 +5349,21 @@ ;; FIXME: Is is possible to implement this? Else it should be removed here ;; and in `gnus-button-alist'. (defun gnus-button-handle-describe-key (url) - "Call describe-key when pushing the corresponing URL button." + "Call describe-key when pushing the corresponding URL button." (error "not implemented")) -(defun gnus-button-handle-apropos (url) - "Call apropos when pushing the corresponing URL button." - (apropos (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) - (defun gnus-button-handle-apropos-command (url) - "Call apropos when pushing the corresponing URL button." - (apropos-command (gnus-replace-in-string url - gnus-button-handle-describe-prefix ""))) + "Call apropos when pushing the corresponding URL button." + (apropos-command + (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) (defun gnus-button-handle-apropos-variable (url) "Call apropos when pushing the corresponding URL button." - (apropos-variable (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) + (if (fboundp 'apropos-variable) + (apropos + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")) + (apropos-variable + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) (defcustom gnus-button-man-level 5 "*Integer that says how many man-related buttons Gnus will show. @@ -5414,18 +5415,18 @@ ("M-x[ \t\n]customize-[^ ]+[ \t\n]RET[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 (>= gnus-button-emacs-level 1) gnus-button-handle-custom 1) ;; Emacs help commands - ("M-x[ \t\n]apropos[ \t\n]\\([^ ]+\\)[ \t\n]RET" + ("M-x[ \t\n]+apropos[ \t\n]+RET[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET" ;; regexp doesn't match arguments containing ` '. 0 (>= gnus-button-emacs-level 1) gnus-button-handle-apropos 1) - ("M-x[ \t\n]apropos-command[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 - (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-command 1) - ("M-x[ \t\n]apropos-variable[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 - (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-variable 1) - ("\\W\\(C-h\\|<?[F1]1>?\\)[ \t\n]f[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 - (>= gnus-button-emacs-level 1) gnus-button-handle-describe-function 2) - ("\\W\\(C-h\\|<?[F1]1>?\\)[ \t\n]v[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0 - (>= gnus-button-emacs-level 1) gnus-button-handle-describe-variable 2) - ("\\W\\(C-h\\|<?[F1]1>?\\)[ \t\n]k[ \t\n]\\([^ ]+\\)[ \t\n]" 0 + ("M-x[ \t\n]+apropos-command[ \t\n]+RET[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET" + 0 (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-command 1) + ("M-x[ \t\n]+apropos-variable[ \t\n]+RET[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET" + 0 (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-variable 1) + ("\\W\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+f[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET" + 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-function 2) + ("\\W\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+v[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET" + 0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-variable 2) + ("\\W\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+k[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+" 0 ;; this regexp needs to be fixed! (>= gnus-button-emacs-level 9) gnus-button-handle-describe-key 2) ;; This is how URLs _should_ be embedded in text... [-- Attachment #3: Type: text/plain, Size: 116 bytes --] Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 20:29 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib @ 2002-09-24 20:39 ` Paul Jarc 2002-09-24 22:15 ` Reiner Steib 2002-09-25 13:52 ` Kai Großjohann 1 sibling, 1 reply; 44+ messages in thread From: Paul Jarc @ 2002-09-24 20:39 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> wrote: > (defun gnus-button-handle-apropos-variable (url) > "Call apropos when pushing the corresponding URL button." > - (apropos-variable (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) > + (if (fboundp 'apropos-variable) > + (apropos > + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")) > + (apropos-variable > + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) Isn't that test backwards? How about: (funcall (if (fboundp 'apropos-variable) 'apropos-variable 'apropos) (gnus-replace-in-string url gnus-button-handle-describe-prefix "")) paul ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 20:39 ` Paul Jarc @ 2002-09-24 22:15 ` Reiner Steib 0 siblings, 0 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-24 22:15 UTC (permalink / raw) On Tue, Sep 24 2002, Paul Jarc wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> wrote: [...] >> + (if (fboundp 'apropos-variable) >> + (apropos >> + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")) >> + (apropos-variable >> + (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))) > > Isn't that test backwards? How about: > (funcall (if (fboundp 'apropos-variable) 'apropos-variable 'apropos) > (gnus-replace-in-string url gnus-button-handle-describe-prefix "")) Oops, sorry. Thank you, Paul. I should better go to bed now... Please forget about the previous patch for now. I need to test it better and submit a new one tomorrow. Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 20:29 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 2002-09-24 20:39 ` Paul Jarc @ 2002-09-25 13:52 ` Kai Großjohann 2002-09-25 14:51 ` Reiner Steib 1 sibling, 1 reply; 44+ messages in thread From: Kai Großjohann @ 2002-09-25 13:52 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > The attached patch uses `apropos' for XEmacs and ... I committed part of it. Some docstring fixes are missing. Could you redo those, please? Thanks. kai -- ~/.signature is: umop 3p!sdn (Frank Nobis) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-25 13:52 ` Kai Großjohann @ 2002-09-25 14:51 ` Reiner Steib 2002-09-25 15:02 ` Kai Großjohann 0 siblings, 1 reply; 44+ messages in thread From: Reiner Steib @ 2002-09-25 14:51 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 306 bytes --] On Wed, Sep 25 2002, Kai Großjohann wrote: > Some docstring fixes are missing. Could you redo those, please? Okay, I fixed typos in the doc-strings of ... gnus-button-handle-describe-key gnus-button-handle-apropos gnus-button-handle-apropos-command gnus-button-handle-apropos-variable [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: gnus-art.buttons.04.patch --] [-- Type: text/x-patch, Size: 1337 bytes --] Index: gnus-art.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v retrieving revision 6.244 diff -u -w -r6.244 gnus-art.el --- gnus-art.el 2002/09/25 14:36:20 6.244 +++ gnus-art.el 2002/09/25 15:25:47 @@ -5349,17 +5349,17 @@ ;; FIXME: Is is possible to implement this? Else it should be removed here ;; and in `gnus-button-alist'. (defun gnus-button-handle-describe-key (url) - "Call describe-key when pushing the corresponing URL button." + "Call describe-key when pushing the corresponding URL button." (error "not implemented")) (defun gnus-button-handle-apropos (url) - "Call apropos when pushing the corresponing URL button." + "Call apropos when pushing the corresponding URL button." (apropos (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) (defun gnus-button-handle-apropos-command (url) - "Call apropos when pushing the corresponing URL button." - (apropos-command (gnus-replace-in-string url - gnus-button-handle-describe-prefix ""))) + "Call apropos when pushing the corresponding URL button." + (apropos-command + (gnus-replace-in-string url gnus-button-handle-describe-prefix ""))) (defun gnus-button-handle-apropos-variable (url) "Call apropos when pushing the corresponding URL button." [-- Attachment #3: Type: text/plain, Size: 116 bytes --] Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-25 14:51 ` Reiner Steib @ 2002-09-25 15:02 ` Kai Großjohann 0 siblings, 0 replies; 44+ messages in thread From: Kai Großjohann @ 2002-09-25 15:02 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > Okay, I fixed typos in the doc-strings of ... > gnus-button-handle-describe-key > gnus-button-handle-apropos > gnus-button-handle-apropos-command > gnus-button-handle-apropos-variable Thanks, committed. Reiner should get a CVS account... kai -- ~/.signature is: umop 3p!sdn (Frank Nobis) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-23 18:12 ` Reiner Steib 2002-09-23 19:55 ` Kai Großjohann @ 2002-09-24 19:28 ` Raymond Scholz 2002-09-24 19:49 ` Frank Schmitt 2002-09-24 20:56 ` Reiner Steib 1 sibling, 2 replies; 44+ messages in thread From: Raymond Scholz @ 2002-09-24 19:28 UTC (permalink / raw) On 3309 September 1993, Reiner Steib <4uce.02.r.steib@gmx.net> wrote: > * gnus-art.el (gnus-button-guessed-mid-regexp): Improved regexp. As an advanced approach of the MID vs. email address question, could Gnus make use of pi's pattern based solution written in Perl? <URL:http://piology.org/perl/id-or-mail.pl.html> Or the heuristic approach by Florian Weimer? <URL:http://www.enyo.de/fw/scripts/message-id-or-email.pl> Erm, does the word "overkill" exist in Gnus' vocabulary? Cheers, Ray -- WYSIWYG is a step backwards. Human labor is used to do that which the computer can do better. (Andrew S. Tanenbaum) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 19:28 ` Raymond Scholz @ 2002-09-24 19:49 ` Frank Schmitt 2002-09-24 20:56 ` Reiner Steib 1 sibling, 0 replies; 44+ messages in thread From: Frank Schmitt @ 2002-09-24 19:49 UTC (permalink / raw) Raymond Scholz <ray-2002@zonix.de> writes: > On 3309 September 1993, Reiner Steib <4uce.02.r.steib@gmx.net> wrote: > >> * gnus-art.el (gnus-button-guessed-mid-regexp): Improved regexp. > > As an advanced approach of the MID vs. email address question, could > Gnus make use of pi's pattern based solution written in Perl? > > <URL:http://piology.org/perl/id-or-mail.pl.html> I tested this once and the results are very impressing. > Erm, does the word "overkill" exist in Gnus' vocabulary? You are joking, aren't you? -- One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them In the Land of Mordor where the Shadows lie. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 19:28 ` Raymond Scholz 2002-09-24 19:49 ` Frank Schmitt @ 2002-09-24 20:56 ` Reiner Steib 2002-10-16 17:20 ` Raymond Scholz 2002-12-29 17:55 ` Lars Magne Ingebrigtsen 1 sibling, 2 replies; 44+ messages in thread From: Reiner Steib @ 2002-09-24 20:56 UTC (permalink / raw) On Tue, Sep 24 2002, Raymond Scholz wrote: > On 3309 September 1993, Reiner Steib <4uce.02.r.steib@gmx.net> wrote: > >> * gnus-art.el (gnus-button-guessed-mid-regexp): Improved regexp. > > As an advanced approach of the MID vs. email address question, could > Gnus make use of pi's pattern based solution written in Perl? > > <URL:http://piology.org/perl/id-or-mail.pl.html> I knew about this one (see the comment in the definition of `gnus-button-guessed-mid-regexp'), but I didn't use it because: (1) I'm not very familiar with Perl-REs. If included in Gnus, the regexp syntax must be compatible with Emacs (version >= 20) and XEmacs (version >= 21), AFAIK. (2) What about the paperwork? > Or the heuristic approach by Florian Weimer? > > <URL:http://www.enyo.de/fw/scripts/message-id-or-email.pl> This looks more simple than pi's solution. > Erm, does the word "overkill" exist in Gnus' vocabulary? Would you like to work on this? We could include another choice option in `gnus-button-prefer-mid-or-mail' (and use it in `gnus-button-handle-mid-or-mail'). Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 20:56 ` Reiner Steib @ 2002-10-16 17:20 ` Raymond Scholz 2002-10-16 20:10 ` Raymond Scholz 2002-10-17 15:03 ` Reiner Steib 2002-12-29 17:55 ` Lars Magne Ingebrigtsen 1 sibling, 2 replies; 44+ messages in thread From: Raymond Scholz @ 2002-10-16 17:20 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 299 bytes --] * Reiner Steib <4uce.02.r.steib@gmx.net> wrote: > Would you like to work on this? We could include another choice option > in `gnus-button-prefer-mid-or-mail' (and use it in > `gnus-button-handle-mid-or-mail'). An option would be calling pi's Perl script from Gnus and parsing the output. Like: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: gnus-art.patch --] [-- Type: text/x-patch, Size: 2165 bytes --] Index: gnus-art.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v retrieving revision 6.248 diff -u -r6.248 gnus-art.el --- gnus-art.el 2002/09/27 08:09:05 6.248 +++ gnus-art.el 2002/10/16 18:14:10 @@ -5325,19 +5325,23 @@ (defcustom gnus-button-prefer-mid-or-mail 'guess "What to do when the button on a string as \"foo123@bar.com\" is pushed. -Strings like this can be either a message ID or a mail address. If the -variable is set to the symbol `ask', query the user what do do. If it is the -symbol `guess', Gnus will do a guess and query the user what do do if it is -ambiguous. If it is one of the sybols `mid' or `mail', Gnus will always assume -that the string is a message ID or a mail address, respectivly. See the -variable `gnus-button-guessed-mid-regexp' for details concerning the -guessing." +Strings like this can be either a message ID or a mail address. If +the variable is set to the symbol `ask', query the user what do do. +If it is the symbol `guess', Gnus will do a guess and query the user +what do do if it is ambiguous. See the variable +`gnus-button-guessed-mid-regexp' for details concerning the guessing. +If it is one of the sybols `mid' or `mail', Gnus will always assume +that the string is a message ID or a mail address, respectivly. If it +is a function, Gnus will call this function with the string in +question as the only argument. The function should return non-nil +value, if the argument is supposed to be a message ID." ;; FIXME: doc-string could/should be improved. :group 'gnus-article-buttons :type '(choice (const ask) (const guess) (const mid) - (const mail))) + (const mail) + (function :tag "Iff function evaluates to non-nil"))) (defcustom gnus-button-guessed-mid-regexp (concat @@ -5361,6 +5365,10 @@ ;; otherwise 'ask the user. (if (eq pref 'guess) (if (string-match gnus-button-guessed-mid-regexp mid-or-mail) + (setq pref 'mid) + (setq pref 'ask))) + (if (functionp pref) + (if (funcall pref mid-or-mail) (setq pref 'mid) (setq pref 'ask))) (if (eq pref 'ask) [-- Attachment #3: Type: text/plain, Size: 553 bytes --] And something like (defun rs-is-mid (mid-or-mail) (string-match "-> m-id$" (with-temp-buffer (insert (concat "<" mid-or-mail ">")) (call-process-region (point-min) (point-max) shell-file-name t (list (current-buffer) nil) nil shell-command-switch "/home/rscholz/bin/id-or-mail.pl") (buffer-string)))) (setq gnus-button-prefer-mid-or-mail 'is-mid) I'm not sure whether funcall should be protected with something like `save-window-excursion'. Cheers, Ray -- http://www.zonix.de/ - (c) 2000 by Yamtaijika Corp. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-10-16 17:20 ` Raymond Scholz @ 2002-10-16 20:10 ` Raymond Scholz 2002-10-17 15:03 ` Reiner Steib 1 sibling, 0 replies; 44+ messages in thread From: Raymond Scholz @ 2002-10-16 20:10 UTC (permalink / raw) * Raymond Scholz <ray-2002@zonix.de> wrote: > (setq gnus-button-prefer-mid-or-mail 'is-mid) (setq gnus-button-prefer-mid-or-mail 'rs-is-mid) of course. Cheers, Ray -- rscholz:x:587:100:Raymond Scholz:/home/rscholz:/usr/bin/emacs ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-10-16 17:20 ` Raymond Scholz 2002-10-16 20:10 ` Raymond Scholz @ 2002-10-17 15:03 ` Reiner Steib 1 sibling, 0 replies; 44+ messages in thread From: Reiner Steib @ 2002-10-17 15:03 UTC (permalink / raw) On Wed, Oct 16 2002, Raymond Scholz wrote: > An option would be calling pi's Perl script from Gnus and parsing > the output. Does it make sense that the user is still prompted when the script says "mail"? (I'm not sure.) > (defun rs-is-mid (mid-or-mail) > (string-match > "-> m-id$" [...] We could add pre-defined function for both, pi's script (id-or-mail.pl) and Florian Weimer's script (message-id-or-email.pl). What do you think about the following? (Could you test it, please?) --8<---------------cut here---------------start------------->8--- (defcustom gnus-button-guess-mid-external-name "id-or-mail.pl" "Program for guessing if a given string is a message IDs or mail address. See the variable `gnus-button-prefer-mid-or-mail'. The program must read a string (message IDs or mail address) from stdin and print `gnus-button-guess-mid-external-mid-regexp' on stdout iff the string is a message ID. If you change the program you probably need to change the variable `gnus-button-guess-mid-external-mid-regexp' too. See <URL:http://piology.org/perl/id-or-mail.pl.html> or <URL:http://www.enyo.de/fw/scripts/message-id-or-email.pl>." :group 'gnus-article-buttons :type '(choice (const "id-or-mail.pl") (const "message-id-or-email.pl") (regexp :tag "Other"))) (defcustom gnus-button-guess-mid-external-mid-regexp "-> m-id$" "The string returned by `gnus-button-guess-mid-external-name' should match this regexp iff a message ID was found." :group 'gnus-article-buttons :type '(choice (const :tag "for id-or-mail.pl" "-> m-id$") (const :tag "for message-id-or-email.pl" "^M") (regexp :tag "Other"))) (defun gnus-button-guess-mid-external (mid-or-mail) "Function for `gnus-button-prefer-mid-or-mail'. The function should return a non-nil value, if the argument is supposed to be a message ID. You may need to set `gnus-button-guess-mid-external-name' and `gnus-button-guess-mid-external-mid-regexp' to make this work." (string-match gnus-button-guess-mid-external-mid-regexp (with-temp-buffer (insert (concat "<" mid-or-mail ">")) (call-process-region (point-min) (point-max) shell-file-name t (list (current-buffer) nil) nil shell-command-switch gnus-button-guess-mid-external-name) (buffer-string)))) --8<---------------cut here---------------end--------------->8--- `gnus-button-guess-mid-external' could be added to `gnus-button-prefer-mid-or-mail': --8<---------------cut here---------------start------------->8--- - (const mail))) + (const mail) + (function-item :tag "gnus-button-guess-mid-external" + gnus-button-guess-mid-external) + (function :tag "Iff function evaluates to non-nil"))) --8<---------------cut here---------------end--------------->8--- > I'm not sure whether funcall should be protected with something like > `save-window-excursion'. Dunno. Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-09-24 20:56 ` Reiner Steib 2002-10-16 17:20 ` Raymond Scholz @ 2002-12-29 17:55 ` Lars Magne Ingebrigtsen 2002-12-30 17:58 ` Reiner Steib 2003-01-02 16:47 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 1 sibling, 2 replies; 44+ messages in thread From: Lars Magne Ingebrigtsen @ 2002-12-29 17:55 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: >> Or the heuristic approach by Florian Weimer? >> >> <URL:http://www.enyo.de/fw/scripts/message-id-or-email.pl> > > This looks more simple than pi's solution. Did you look into doing this in Lisp? I think that would be neat... -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-12-29 17:55 ` Lars Magne Ingebrigtsen @ 2002-12-30 17:58 ` Reiner Steib 2003-01-01 19:09 ` Lars Magne Ingebrigtsen 2003-01-02 16:47 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 1 sibling, 1 reply; 44+ messages in thread From: Reiner Steib @ 2002-12-30 17:58 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 499 bytes --] [ Resent message, see <m3lm26dg7u.fsf@quimbies.gnus.org>. ] On Sun, Dec 29 2002, Lars Magne Ingebrigtsen wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> writes: > >> + ;; ["Followup-To (with note in body)" message-xpost-fup2 t] > > A style note -- in Lisp, we don't abbreviate words¹. > There's a gazillion possible abbreviations for "cross-post", but > there's only one way to write it correctly. Could you fix the > function names? I fixed the function and variable names: [-- Attachment #2: ~/doc/Software/emacs/gnus/patches/message.rename-message-utils-stuff.patch --] [-- Type: message/external-body, Size: 119 bytes --] [-- Attachment #3: Type: text/plain, Size: 1145 bytes --] I'm not sure how detailed the ChangeLog entry should be when renaming functions and variables. --8<---------------cut here---------------start------------->8--- 2002-12-30 Reiner Steib <Reiner.Steib@gmx.de> * message.el: Renamed functions and variables: "xpost" -> "cross-post", "-fup2" -> "-followup-to". (message-cross-post-old-target, message-cross-post-default, message-cross-post-note, message-followup-to-note, message-cross-post-note-function, ): New variables names. (message-xpost-old-target, message-xpost-default, message-xpost-note, message-fup2-note, message-xpost-note-function): Removed variable names. (message-cross-post-followup-to-header, message-cross-post-insert-note, message-cross-post-followup-to): New function names. (message-xpost-fup2-header, message-xpost-insert-note, message-xpost-fup2): Removed function names. --8<---------------cut here---------------end--------------->8--- > ¹) Unless we do, of course. E.g. `message-gen-unsubscribed-mft'? Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-12-30 17:58 ` Reiner Steib @ 2003-01-01 19:09 ` Lars Magne Ingebrigtsen 2003-01-01 20:38 ` Reiner Steib 0 siblings, 1 reply; 44+ messages in thread From: Lars Magne Ingebrigtsen @ 2003-01-01 19:09 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > I fixed the function and variable names: The attachment was empty; could you re-send? > I'm not sure how detailed the ChangeLog entry should be when renaming > functions and variables. That ChangeLog entry was just fine... >> ¹) Unless we do, of course. > > E.g. `message-gen-unsubscribed-mft'? No, that should also be renamed to something understandable, I think. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2003-01-01 19:09 ` Lars Magne Ingebrigtsen @ 2003-01-01 20:38 ` Reiner Steib 2003-01-01 20:59 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 44+ messages in thread From: Reiner Steib @ 2003-01-01 20:38 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 257 bytes --] On Wed, Jan 01 2003, Lars Magne Ingebrigtsen wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> writes: > >> I fixed the function and variable names: > > The attachment was empty; could you re-send? Sure (the gnus-summary-resend-message-edit problem again): [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: message.rename-message-utils-stuff.patch --] [-- Type: text/x-patch, Size: 7636 bytes --] --- message.el.~6.266.~ Mon Dec 30 17:25:32 2002 +++ message.el Mon Dec 30 17:30:54 2002 @@ -325,40 +325,40 @@ ;; inspired by JoH-followup-to by Jochem Huhman <joh at gmx.de> ;; new suggestions by R. Weikusat <rw at another.de> -(defvar message-xpost-old-target nil +(defvar message-cross-post-old-target nil "Old target for cross-posts or follow-ups.") -(make-variable-buffer-local 'message-xpost-old-target) +(make-variable-buffer-local 'message-cross-post-old-target) ;;;###autoload -(defcustom message-xpost-default t - "When non-nil `message-xpost-fup2' will normally perform a crosspost. -If nil, `message-xpost-fup2' will only do a followup. Note that you -can explicitly override this setting by calling `message-xpost-fup2' -with a prefix." +(defcustom message-cross-post-default t + "When non-nil `message-cross-post-followup-to' will normally perform a +crosspost. If nil, `message-cross-post-followup-to' will only do a followup. +Note that you can explicitly override this setting by calling +`message-cross-post-followup-to' with a prefix." :type 'boolean :group 'message-various) ;;;###autoload -(defcustom message-xpost-note +(defcustom message-cross-post-note "Crosspost & Followup-To: " - "Note to insert before signature to notify of xpost and follow-up." + "Note to insert before signature to notify of cross-post and follow-up." :type 'string :group 'message-various) ;;;###autoload -(defcustom message-fup2-note +(defcustom message-followup-to-note "Followup-To: " "Note to insert before signature to notify of follow-up only." :type 'string :group 'message-various) ;;;###autoload -(defcustom message-xpost-note-function - 'message-xpost-insert-note +(defcustom message-cross-post-note-function + 'message-cross-post-insert-note "Function to use to insert note about Crosspost or Followup-To. The function will be called with four arguments. The function should not only insert a note, but also ensure old notes are deleted. See the documentation -for `message-xpost-insert-note'. " +for `message-cross-post-insert-note'. " :type 'function :group 'message-various) @@ -1645,7 +1645,7 @@ (message-sort-headers))) ;;;###autoload -(defun message-xpost-fup2-header (target-group) +(defun message-cross-post-followup-to-header (target-group) "Mangles FollowUp-To and Newsgroups header to point to TARGET-GROUP. With prefix-argument just set Follow-Up, don't cross-post." (interactive @@ -1660,19 +1660,19 @@ (message-goto-newsgroups) (beginning-of-line) ;; if we already did a crosspost before, kill old target - (if (and message-xpost-old-target + (if (and message-cross-post-old-target (re-search-forward - (regexp-quote (concat "," message-xpost-old-target)) + (regexp-quote (concat "," message-cross-post-old-target)) nil t)) (replace-match "")) ;; unless (followup is to poster or user explicitly asked not ;; to cross-post, or target-group is already in Newsgroups) ;; add target-group to Newsgroups line. (cond ((and (or - ;; def: xpost, req:no - (and message-xpost-default (not current-prefix-arg)) - ;; def: no-xpost, req:yes - (and (not message-xpost-default) current-prefix-arg)) + ;; def: cross-post, req:no + (and message-cross-post-default (not current-prefix-arg)) + ;; def: no-cross-post, req:yes + (and (not message-cross-post-default) current-prefix-arg)) (not (string-match "poster" target-group)) (not (string-match (regexp-quote target-group) (message-fetch-field "Newsgroups")))) @@ -1686,13 +1686,14 @@ "[ \t]*$") (message-fetch-field "Newsgroups"))) (insert (concat "\nFollowup-To: " target-group))) - (setq message-xpost-old-target target-group)) + (setq message-cross-post-old-target target-group)) ;;;###autoload -(defun message-xpost-insert-note (target-group xpost in-old old-groups) +(defun message-cross-post-insert-note (target-group cross-post in-old + old-groups) "Insert a in message body note about a set Followup or Crosspost. If there have been previous notes, delete them. TARGET-GROUP specifies the -group to Followup-To. When XPOST is t, insert note about +group to Followup-To. When CROSS-POST is t, insert note about crossposting. IN-OLD specifies whether TARGET-GROUP is a member of OLD-GROUPS. OLD-GROUPS lists the old-groups the posting would have been made to before the user asked for a Crosspost." @@ -1703,25 +1704,25 @@ nil t))) ; just search in body (message-goto-signature) (while (re-search-backward - (concat "^" (regexp-quote message-xpost-note) ".*") + (concat "^" (regexp-quote message-cross-post-note) ".*") head t) (message-delete-line)) (message-goto-signature) (while (re-search-backward - (concat "^" (regexp-quote message-fup2-note) ".*") + (concat "^" (regexp-quote message-followup-to-note) ".*") head t) (message-delete-line)) ;; insert new note (if (message-goto-signature) (re-search-backward message-signature-separator)) (if (or in-old - (not xpost) + (not cross-post) (string-match "^[ \t]*poster[ \t]*$" target-group)) - (insert (concat message-fup2-note target-group "\n")) - (insert (concat message-xpost-note target-group "\n"))))) + (insert (concat message-followup-to-note target-group "\n")) + (insert (concat message-cross-post-note target-group "\n"))))) ;;;###autoload -(defun message-xpost-fup2 (target-group) +(defun message-cross-post-followup-to (target-group) "Crossposts message and sets Followup-To to TARGET-GROUP. With prefix-argument just set Follow-Up, don't cross-post." (interactive @@ -1750,13 +1751,13 @@ "[ \t]*$") old-groups))) ;; yes, Newsgroups line must change - (message-xpost-fup2-header target-group) - ;; insert note whether we do xpost or fup2 - (funcall message-xpost-note-function + (message-cross-post-followup-to-header target-group) + ;; insert note whether we do cross-post or fup2 + (funcall message-cross-post-note-function target-group - (if (or (and message-xpost-default + (if (or (and message-cross-post-default (not current-prefix-arg)) - (and (not message-xpost-default) + (and (not message-cross-post-default) current-prefix-arg)) t) in-old old-groups)))))))) @@ -1968,8 +1969,8 @@ ;; modify headers (and insert notes in body) (define-key message-mode-map "\C-c\C-fs" 'message-change-subject) ;; - (define-key message-mode-map "\C-c\C-fx" 'message-xpost-fup2) - ;; prefix+message-xpost-fup2 = same w/o xpost + (define-key message-mode-map "\C-c\C-fx" 'message-cross-post-followup-to) + ;; prefix+message-cross-post-followup-to = same w/o cross-post (define-key message-mode-map "\C-c\C-ft" 'message-reduce-to-to-cc) (define-key message-mode-map "\C-c\C-fa" 'message-add-archive-header) ;; mark inserted text @@ -2082,8 +2083,8 @@ ["Keywords" message-goto-keywords t] ["Newsgroups" message-goto-newsgroups t] ["Followup-To" message-goto-followup-to t] - ;; ["Followup-To (with note in body)" message-xpost-fup2 t] - ["Crosspost / Followup-To..." message-xpost-fup2 t] + ;; ["Followup-To (with note in body)" message-cross-post-followup-to t] + ["Crosspost / Followup-To..." message-cross-post-followup-to t] ["Distribution" message-goto-distribution t] ["X-No-Archive:" message-add-archive-header t ] "----" [-- Attachment #3: Type: text/plain, Size: 556 bytes --] > That ChangeLog entry was just fine... | message-cross-post-note-function, ): New variables names. ^^ this ", " should be removed. >> E.g. `message-gen-unsubscribed-mft'? > > No, that should also be renamed to something understandable, I think. `message-generate-unsubscribed-mft' or `message-generate-unsubscribed-mail-followup-to'? There's also `message-make-mft' and `message-make-fqdn'... Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2003-01-01 20:38 ` Reiner Steib @ 2003-01-01 20:59 ` Lars Magne Ingebrigtsen 2003-01-07 18:21 ` Docu and menu patches for message.el/message.texi (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) Reiner Steib 0 siblings, 1 reply; 44+ messages in thread From: Lars Magne Ingebrigtsen @ 2003-01-01 20:59 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: >> The attachment was empty; could you re-send? > > Sure (the gnus-summary-resend-message-edit problem again): Thanks for the patch; I've applied it to Oort Gnus v0.08 (i. e., CVS). >>> E.g. `message-gen-unsubscribed-mft'? >> >> No, that should also be renamed to something understandable, I think. > > `message-generate-unsubscribed-mft' or > `message-generate-unsubscribed-mail-followup-to'? The latter, I think. > There's also `message-make-mft' and `message-make-fqdn'... fdqn is a common acronym, so that may be left as it is, I think. Or expanded, for legibility. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Docu and menu patches for message.el/message.texi (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) 2003-01-01 20:59 ` Lars Magne Ingebrigtsen @ 2003-01-07 18:21 ` Reiner Steib 2003-01-08 4:08 ` Docu and menu patches for message.el/message.texi Lars Magne Ingebrigtsen 0 siblings, 1 reply; 44+ messages in thread From: Reiner Steib @ 2003-01-07 18:21 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 2292 bytes --] On Wed, Jan 01 2003, Lars Magne Ingebrigtsen wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> writes: [...] >>>> E.g. `message-gen-unsubscribed-mft'? >>> >>> No, that should also be renamed to something understandable, I think. >> >> `message-generate-unsubscribed-mft' or >> `message-generate-unsubscribed-mail-followup-to'? > > The latter, I think. > >> There's also `message-make-mft' and `message-make-fqdn'... > > fdqn is a common acronym, so that may be left as it is, I think. Or > expanded, for legibility. I did this renaming as you suggested (see ChangeLogs and patches below). I added documentation for the (former) message-utils.el functions. Commands clearly related to headers should not be in the "Message" menu (but in the "Field" menu): message-insert-importance-*, message-insert-disposition-notification-to, message-sort-headers. So I divided the section "Header Commands" in two subsections, "Commands for moving to headers" and "Commands to change headers" and added/moved the documentation to the right place. Suggested lisp/ChangeLog entry: --8<---------------cut here---------------start------------->8--- 2003-01-07 Reiner Steib <Reiner.Steib@gmx.de> * message.el (message-cross-post-default) (message-cross-post-note-function, message-shoot-gnksa-feet) (message-strip-subject-trailing-was, message-change-subject) (message-mark-insert-file, message-cross-post-followup-to) (message-cross-post-followup-to, message-mode-map) (message-generate-unsubscribed-mail-followup-to) (message-make-mail-followup-to): Minor changes to doc-strings and error messages. Updated copyright line. * message.el (message-make-mail-followup-to, message-generate-unsubscribed-mail-followup-to): New function names. Renamed functions: "-mft" -> "-mail-followup-to". (message-make-mft, message-gen-unsubscribed-mft): Removed function names. * mml.el (mml-preview-insert-mail-followup-to): New function name. (mml-preview-insert-mft): Removed function name. (mml-preview): Use new function names. * gnus-art.el (gnus-article-edit-mode-map): Use new function names. * message.el (message-mode-field-menu): Moved header related commands from "Message" to "Field" menu. --8<---------------cut here---------------end--------------->8--- Patch for ./lisp: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: message.docu.moving.renaming.patch --] [-- Type: text/x-patch, Size: 10960 bytes --] --- message.el.~6.283.~ Tue Jan 7 12:20:10 2003 +++ message.el Tue Jan 7 18:14:26 2003 @@ -1,5 +1,5 @@ ;;; message.el --- composing mail and news messages -;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 +;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> @@ -344,9 +344,9 @@ ;;;###autoload (defcustom message-cross-post-default t - "When non-nil `message-cross-post-followup-to' will normally perform a -crosspost. If nil, `message-cross-post-followup-to' will only do a followup. -Note that you can explicitly override this setting by calling + "When non-nil `message-cross-post-followup-to' will perform a crosspost. +If nil, `message-cross-post-followup-to' will only do a followup. Note that +you can explicitly override this setting by calling `message-cross-post-followup-to' with a prefix." :type 'boolean :group 'message-various) @@ -371,7 +371,7 @@ "Function to use to insert note about Crosspost or Followup-To. The function will be called with four arguments. The function should not only insert a note, but also ensure old notes are deleted. See the documentation -for `message-cross-post-insert-note'. " +for `message-cross-post-insert-note'." :type 'function :group 'message-various) @@ -959,7 +959,7 @@ "*A list of GNKSA feet you are allowed to shoot. Gnus gives you all the opportunity you could possibly want for shooting yourself in the foot. Also, Gnus allows you to shoot the -feet of Good Net-Keeping Seal of Approval. The following are foot +feet of Good Net-Keeping Seal of Approval. The following are foot candidates: `empty-article' Allow you to post an empty article; `quoted-text-only' Allow you to post quoted text only; @@ -1559,7 +1559,7 @@ ;;; Start of functions adopted from `message-utils.el'. (defun message-strip-subject-trailing-was (subject) - "Remove trailing \"(Was: <old subject>)\" from subject lines. + "Remove trailing \"(Was: <old subject>)\" from SUBJECT lines. Leading \"Re: \" is not stripped by this function. Use the function `message-strip-subject-re' for this." (let* ((query message-subject-trailing-was-query) @@ -1594,7 +1594,7 @@ ;;;###autoload (defun message-change-subject (new-subject) - "Ask for new Subject: header, append (was: <Old Subject>)." + "Ask for NEW-SUBJECT header, append (was: <Old Subject>)." (interactive (list (read-from-minibuffer "New subject: "))) @@ -1604,7 +1604,7 @@ (save-excursion (let ((old-subject (message-fetch-field "Subject"))) (cond ((not old-subject) - (error "No current subject.")) + (error "No current subject")) ((not (string-match (concat "^[ \t]*" (regexp-quote new-subject) @@ -1634,7 +1634,7 @@ ;;;###autoload (defun message-mark-insert-file (file) - "Inserts FILE at point, marking it with enclosing tags. + "Insert FILE at point, marking it with enclosing tags. See `message-mark-insert-begin' and `message-mark-insert-end'." (interactive "fFile to insert: ") ;; reverse insertion to get correct result. @@ -1744,7 +1744,7 @@ ;;;###autoload (defun message-cross-post-followup-to (target-group) - "Crossposts message and sets Followup-To to TARGET-GROUP. + "Crossposts message and set Followup-To to TARGET-GROUP. With prefix-argument just set Follow-Up, don't cross-post." (interactive (list ; Completion based on Gnus @@ -1764,7 +1764,7 @@ (or old-groups "")))) ;; check whether target exactly matches old Newsgroups (cond ((not old-groups) - (error "No current newsgroup.")) + (error "No current newsgroup")) ((or (not in-old) (not (string-match (concat "^[ \t]*" @@ -1991,8 +1991,10 @@ (define-key message-mode-map "\C-c\C-f\C-m" 'message-goto-mail-followup-to) (define-key message-mode-map "\C-c\C-f\C-k" 'message-goto-keywords) (define-key message-mode-map "\C-c\C-f\C-u" 'message-goto-summary) - (define-key message-mode-map "\C-c\C-f\C-i" 'message-insert-or-toggle-importance) - (define-key message-mode-map "\C-c\C-f\C-a" 'message-gen-unsubscribed-mft) + (define-key message-mode-map "\C-c\C-f\C-i" + 'message-insert-or-toggle-importance) + (define-key message-mode-map "\C-c\C-f\C-a" + 'message-generate-unsubscribed-mail-followup-to) ;; modify headers (and insert notes in body) (define-key message-mode-map "\C-c\C-fs" 'message-change-subject) @@ -2014,7 +2016,8 @@ (define-key message-mode-map "\C-c\C-l" 'message-to-list-only) (define-key message-mode-map "\C-c\C-u" 'message-insert-or-toggle-importance) - (define-key message-mode-map "\C-c\M-n" 'message-insert-disposition-notification-to) + (define-key message-mode-map "\C-c\M-n" + 'message-insert-disposition-notification-to) (define-key message-mode-map "\C-c\C-y" 'message-yank-original) (define-key message-mode-map "\C-c\M-\C-y" 'message-yank-buffer) @@ -2046,7 +2049,6 @@ (easy-menu-define message-mode-menu message-mode-map "Message Menu." `("Message" - ["Sort Headers" message-sort-headers t] ["Yank Original" message-yank-original t] ["Fill Yanked Message" message-fill-yanked-message t] ["Insert Signature" message-insert-signature t] @@ -2057,16 +2059,6 @@ ["Kill To Signature" message-kill-to-signature t] ["Newline and Reformat" message-newline-and-reformat t] ["Rename buffer" message-rename-buffer t] - ["Flag As Important" message-insert-importance-high - ,@(if (featurep 'xemacs) '(t) - '(:help "Mark this message as important"))] - ["Flag As Unimportant" message-insert-importance-low - ,@(if (featurep 'xemacs) '(t) - '(:help "Mark this message as unimportant"))] - ["Request Receipt" - message-insert-disposition-notification-to - ,@(if (featurep 'xemacs) '(t) - '(:help "Request a receipt notification"))] ["Spellcheck" ispell-message ,@(if (featurep 'xemacs) '(t) '(:help "Spellcheck this message"))] @@ -2105,6 +2097,16 @@ ["Bcc" message-goto-bcc t] ["Fcc" message-goto-fcc t] ["Reply-To" message-goto-reply-to t] + ["Flag As Important" message-insert-importance-high + ,@(if (featurep 'xemacs) '(t) + '(:help "Mark this message as important"))] + ["Flag As Unimportant" message-insert-importance-low + ,@(if (featurep 'xemacs) '(t) + '(:help "Mark this message as unimportant"))] + ["Request Receipt" + message-insert-disposition-notification-to + ,@(if (featurep 'xemacs) '(t) + '(:help "Request a receipt notification"))] "----" ;; (typical) news stuff ["Summary" message-goto-summary t] @@ -2121,8 +2123,9 @@ ["Mail-Followup-To" message-goto-mail-followup-to t] ["Reduce To: to Cc:" message-reduce-to-to-cc t] "----" - ["Body" message-goto-body t] - ["Signature" message-goto-signature t])) + ["Sort Headers" message-sort-headers t] + ["Goto Body" message-goto-body t] + ["Goto Signature" message-goto-signature t])) (defvar message-tool-bar-map nil) @@ -2419,15 +2422,15 @@ (goto-char (point-max)) nil)) -(defun message-gen-unsubscribed-mft (&optional include-cc) +(defun message-generate-unsubscribed-mail-followup-to (&optional include-cc) "Insert a reasonable MFT header in a post to an unsubscribed list. When making original posts to a mailing list you are not subscribed to, you have to type in a MFT header by hand. The contents, usually, are the addresses of the list and your own address. This function inserts such a header automatically. It fetches the contents of the To: header -in the current mail buffer, and appends the current user-mail-address. +in the current mail buffer, and appends the current `user-mail-address'. -If the optional argument `include-cc' is non-nil, the addresses in the +If the optional argument INCLUDE-CC is non-nil, the addresses in the Cc: header are also put into the MFT." (interactive "P") @@ -3372,7 +3375,7 @@ (not (mail-fetch-field "mail-followup-to"))) (setq headers (cons - (cons "Mail-Followup-To" (message-make-mft)) + (cons "Mail-Followup-To" (message-make-mail-followup-to)) message-required-mail-headers)) ;; otherwise, delete the MFT header if the field is empty (when (equal "" (mail-fetch-field "mail-followup-to")) @@ -4488,7 +4491,7 @@ "Send a message to the list only. Remove all addresses but the list address from To and Cc headers." (interactive) - (let ((listaddr (message-make-mft t))) + (let ((listaddr (message-make-mail-followup-to t))) (when listaddr (save-excursion (message-remove-header "to") @@ -4496,10 +4499,10 @@ (message-position-on-field "To" "X-Draft-From") (insert listaddr))))) -(defun message-make-mft (&optional only-show-subscribed) - "Return the Mail-Followup-To header. If passed the optional -argument `only-show-subscribed' only return the subscribed address (and -not the additional To and Cc header contents)." +(defun message-make-mail-followup-to (&optional only-show-subscribed) + "Return the Mail-Followup-To header. +If passed the optional argument ONLY-SHOW-SUBSCRIBED only return the +subscribed address (and not the additional To and Cc header contents)." (let* ((case-fold-search t) (to (message-fetch-field "To")) (cc (message-fetch-field "cc")) --- mml.el.~6.67.~ Fri Jan 3 11:39:02 2003 +++ mml.el Tue Jan 7 17:39:32 2003 @@ -1009,15 +1009,15 @@ (mml-insert-tag 'part 'type type 'disposition "inline") (forward-line -1)) -(defun mml-preview-insert-mft () +(defun mml-preview-insert-mail-followup-to () "Insert a Mail-Followup-To header before previewing an article. Should be adopted if code in `message-send-mail' is changed." (when (and (message-mail-p) (message-subscribed-p) (not (mail-fetch-field "mail-followup-to")) - (message-make-mft)) + (message-make-mail-followup-to)) (message-position-on-field "Mail-Followup-To" "X-Draft-From") - (insert (message-make-mft)))) + (insert (message-make-mail-followup-to)))) (defun mml-preview (&optional raw) "Display current buffer with Gnus, in a new buffer. @@ -1039,8 +1039,8 @@ "*MIME preview of ") (buffer-name)))) (erase-buffer) (insert-buffer buf) - (mml-preview-insert-mft) + (mml-preview-insert-mail-followup-to) (let ((message-deletable-headers (if (message-news-p) nil message-deletable-headers))) --- gnus-art.el.~6.266.~ Mon Jan 6 19:16:07 2003 +++ gnus-art.el Tue Jan 7 17:31:03 2003 @@ -5221,7 +5221,7 @@ "\C-c\C-f\C-k" message-goto-keywords "\C-c\C-f\C-u" message-goto-summary "\C-c\C-f\C-i" message-insert-or-toggle-importance - "\C-c\C-f\C-a" message-gen-unsubscribed-mft + "\C-c\C-f\C-a" message-generate-unsubscribed-mail-followup-to "\C-c\C-b" message-goto-body "\C-c\C-i" message-goto-signature [-- Attachment #3: Type: text/plain, Size: 1152 bytes --] Suggested texi/ChangeLog entry: --8<---------------cut here---------------start------------->8--- 2003-01-07 Reiner Steib <Reiner.Steib@gmx.de> * message.texi: Updated copyright line. (Mailing Lists): Updated (renamed) function names. (Header Commands): Updated (renamed) function names. (Header Commands): Added message-to-list-only, message-change-subject, message-cross-post-followup-to, message-reduce-to-to-cc and message-add-archive-header. Moved message-sort-headers, message-insert-to, message-insert-newsgroups and message-insert-disposition-notification-to from other sections. (Insertion): Added message-mark-inserted-region, message-mark-insert-file. Moved message-insert-disposition-notification-to to section (Header Commands). (Various Commands): Moved message-insert-wide-reply, message-insert-to, message-insert-newsgroups and message-sort-headers to (Header Commands) section. (Message Headers): Added message-subject-trailing-was-query. (Insertion Variables): Added message-mark-insert-begin and message-mark-insert-end. --8<---------------cut here---------------end--------------->8--- Patch for ./texi: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #4: message.texi.docu.moving.renaming.patch --] [-- Type: text/x-patch, Size: 10551 bytes --] Index: message.texi =================================================================== RCS file: /usr/local/cvsroot/gnus/texi/message.texi,v retrieving revision 6.57 diff -u -c -u -r6.57 message.texi cvs server: conflicting specifications of output style cvs server: conflicting specifications of output style --- message.texi 2003/01/06 03:02:21 6.57 +++ message.texi 2003/01/07 17:17:48 @@ -18,7 +18,8 @@ This file documents Message, the Emacs message composition mode. -Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -437,17 +438,17 @@ other headers and set to the value of all addresses in To: and Cc: @kindex C-c C-f C-a -@findex message-gen-unsubscribed-mft +@findex message-generate-unsubscribed-mail-followup-to @kindex C-c C-f C-m @findex message-goto-mail-followup-to Hm. ``So'', you ask, ``what if I send an email to a list I am not -subscribed to? I want my MFT to say that I want an extra copy.'' -(This is supposed to be interpreted by others the same way as if there -were no MFT, but you can use an explicit MFT to override someone -else's to-address group parameter.) The function -@code{message-gen-unsubscribed-mft} might come in handy. It is bound -to @kbd{C-c C-f C-a} by default. In any case, you can insert a MFT of -your own choice; @kbd{C-c C-f C-m} +subscribed to? I want my MFT to say that I want an extra copy.'' (This +is supposed to be interpreted by others the same way as if there were no +MFT, but you can use an explicit MFT to override someone else's +to-address group parameter.) The function +@code{message-generate-unsubscribed-mail-followup-to} might come in +handy. It is bound to @kbd{C-c C-f C-a} by default. In any case, you +can insert a MFT of your own choice; @kbd{C-c C-f C-m} (@code{message-goto-mail-followup-to}) will help you get started. @c @node Honoring an MFT post @@ -480,7 +481,7 @@ @menu * Buffer Entry:: Commands after entering a Message buffer. -* Header Commands:: Commands for moving to headers. +* Header Commands:: Commands for moving headers or changing headers. * Movement:: Moving around in message buffers. * Insertion:: Inserting things into message buffers. * MIME:: @sc{mime} considerations. @@ -510,10 +511,11 @@ @node Header Commands @section Header Commands -All these commands move to the header in question (except for the -@samp{Importance:} related commands). If it doesn't exist, it will be -inserted. +@subsection Commands for moving to headers +These following commands move to the header in question. If it doesn't +exist, it will be inserted. + @table @kbd @item C-c ? @@ -591,17 +593,117 @@ buffer, it cycles between the three valid values according to RFC 1376: @samp{low}, @samp{normal} and @samp{high}. +@item C-c C-f C-a +@kindex C-c C-f C-a +@findex message-generate-unsubscribed-mail-followup-to +Insert a reasonable @samp{Mail-Followup-To:} header +(@pxref{Mailing Lists}) in a post to an +unsubscribed list. When making original posts to a mailing list you are +not subscribed to, you have to type in a @samp{Mail-Followup-To:} header +by hand. The contents, usually, are the addresses of the list and your +own address. This function inserts such a header automatically. It +fetches the contents of the @samp{To:} header in the current mail +buffer, and appends the current @code{user-mail-address}. + +If the optional argument @code{include-cc} is non-nil, the addresses in +the @samp{Cc:} header are also put into the @samp{Mail-Followup-To:} +header. + +@end table + +@subsection Commands to change headers + +@table @kbd + +@item C-c C-o +@kindex C-c C-o +@findex message-sort-headers +@vindex message-header-format-alist +Sort headers according to @code{message-header-format-alist} +(@code{message-sort-headers}). + +@item C-c C-t +@kindex C-c C-t +@findex message-insert-to +Insert a @code{To} header that contains the @code{Reply-To} or +@code{From} header of the message you're following up +(@code{message-insert-to}). + +@item C-c C-n +@kindex C-c C-n +@findex message-insert-newsgroups +Insert a @code{Newsgroups} header that reflects the @code{Followup-To} +or @code{Newsgroups} header of the article you're replying to +(@code{message-insert-newsgroups}). + +@item C-c C-l +@kindex C-c C-l +@findex message-to-list-only +Send a message to the list only. Remove all addresses but the list +address from @code{To:} and @code{Cc:} headers. + +@item C-c M-n +@kindex C-c M-n +@findex message-insert-disposition-notification-to +Insert a request for a disposition +notification. (@code{message-insert-disposition-notification-to}). +This means that if the recipient support RFC 2298 she might send you a +notification that she received the message. + @item M-x message-insert-importance-high @kindex M-x message-insert-importance-high @findex message-insert-importance-high -Insert a @samp{Importance:} header with a value of @samp{high}, +@cindex Importance +Insert an @samp{Importance:} header with a value of @samp{high}, deleting headers if necessary. @item M-x message-insert-importance-low @kindex M-x message-insert-importance-low @findex message-insert-importance-low -Insert a @samp{Importance:} header with a value of @samp{low}, -deleting headers if necessary. +@cindex Importance +Insert an @samp{Importance:} header with a value of @samp{low}, deleting +headers if necessary. + +@item C-c C-f s +@kindex C-c C-f s +@findex message-change-subject +@cindex Subject +Change the current @samp{Subject:} header. Ask for new @samp{Subject:} +header and append @code{(was: <Old Subject>)}. The old subject can be +stripped on replying, see @code{message-subject-trailing-was-query} +(@pxref{Message Headers}). + +@item C-c C-f x +@kindex C-c C-f x +@findex message-cross-post-followup-to +@vindex message-cross-post-default +@cindex X-Post +@cindex cross-post +Ask for an additional @samp{Newsgroups:} and @samp{FollowUp-To:} for a +cross-post. @code{message-cross-post-followup-to} mangles +@samp{FollowUp-To:} and @samp{Newsgroups:} header to point to group. +If @code{message-cross-post-default} is @code{nil} or if called with a +prefix-argument @samp{Follow-Up:} is set, but the message is not +cross-posted. + +@item C-c C-f t +@kindex C-c C-f t +@findex message-reduce-to-to-cc +Replace contents of @samp{To:} header with contents of @samp{Cc:} or +@samp{Bcc:} header. + +@item C-c C-f a +@kindex C-c C-f a +@findex message-add-archive-header +@vindex message-archive-header +@vindex message-archive-note +@cindex X-No-Archive +Insert @samp{X-No-Archive: Yes} in the header and a note in the body. +The header and the note can be customized using +@code{message-archive-header} and @code{message-archive-note}. When +called with a prefix argument, ask for a text to insert. If you don't +want the note in the body, set @code{message-archive-note} to +@code{nil}. @end table @@ -670,13 +772,17 @@ @findex message-insert-headers Insert the message headers (@code{message-insert-headers}). -@item C-c M-n -@kindex C-c M-n -@findex message-insert-disposition-notification-to -Insert a request for a disposition -notification. (@code{message-insert-disposition-notification-to}). -This means that if the recipient support RFC 2298 she might send you a -notification that she received the message. +@item C-c M-m +@kindex C-c M-m +@findex message-mark-inserted-region +Mark some region in the current article with enclosing tags. +See @code{message-mark-insert-begin} and @code{message-mark-insert-end}. + +@item C-c M-f +@kindex C-c M-f +@findex message-mark-insert-file +Insert a file in the current article with enclosing tags. +See @code{message-mark-insert-begin} and @code{message-mark-insert-end}. @end table @@ -944,36 +1050,6 @@ @samp{*} says where point will be placed. -@item C-c C-t -@kindex C-c C-t -@findex message-insert-to -Insert a @code{To} header that contains the @code{Reply-To} or -@code{From} header of the message you're following up -(@code{message-insert-to}). - -@item C-c M-t -@kindex C-c M-t -@findex message-insert-wide-reply -Insert @code{To} and @code{Cc} headers that contains addresses as if -you were doing a wide reply to the original message -(@code{message-insert-wide-reply}). This usually means that all -addresses from @code{To}, @code{From}/@code{Reply-To}, and @code{Cc} -will be picked up. - -@item C-c C-n -@kindex C-c C-n -@findex message-insert-newsgroups -Insert a @code{Newsgroups} header that reflects the @code{Followup-To} -or @code{Newsgroups} header of the article you're replying to -(@code{message-insert-newsgroups}). - -@item C-c C-o -@kindex C-c C-o -@findex message-sort-headers -@vindex message-header-format-alist -Sort headers according to @code{message-header-format-alist} -(@code{message-sort-headers}). - @item C-c M-r @kindex C-c M-r @findex message-rename-buffer @@ -1208,6 +1284,18 @@ "^\\(\\(\\([Rr][Ee]\\|[Ss][Vv]\\|[Aa][Ww]\\): *\\)+\\)") @end lisp +@item message-subject-trailing-was-query +@vindex message-subject-trailing-was-query +@vindex message-subject-trailing-was-ask-regexp +@vindex message-subject-trailing-was-regexp +Controls what to do with trailing @samp{(was: <old subject>)} in subject +lines. If @code{nil}, leave the subject unchanged. If it is the symbol +@code{ask}, query the user what do do. In this case, the subject is +matched against @code{message-subject-trailing-was-ask-regexp}. If +@code{message-subject-trailing-was-query} is t, always strip the +trailing old subject. In this case, +@code{message-subject-trailing-was-regexp} is used. + @item message-alternative-emails @vindex message-alternative-emails A regexp to match the alternative email addresses. The first matched @@ -1600,6 +1688,14 @@ This can also be a list of functions. Each function can find the citation between @code{(point)} and @code{(mark t)}. And each function should leave point and mark around the citation text as modified. + +@item message-mark-insert-begin +@vindex message-mark-insert-begin +String to mark the beginning of some inserted text. + +@item message-mark-insert-end +@vindex message-mark-insert-end +String to mark the end of some inserted text. @item message-signature @vindex message-signature [-- Attachment #5: Type: text/plain, Size: 116 bytes --] Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Docu and menu patches for message.el/message.texi 2003-01-07 18:21 ` Docu and menu patches for message.el/message.texi (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) Reiner Steib @ 2003-01-08 4:08 ` Lars Magne Ingebrigtsen 2003-01-08 12:03 ` Reiner Steib 0 siblings, 1 reply; 44+ messages in thread From: Lars Magne Ingebrigtsen @ 2003-01-08 4:08 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > I did this renaming as you suggested (see ChangeLogs and patches > below). Thanks for the patch; I've applied it to Oort Gnus v0.11 (i. e., CVS). -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Docu and menu patches for message.el/message.texi 2003-01-08 4:08 ` Docu and menu patches for message.el/message.texi Lars Magne Ingebrigtsen @ 2003-01-08 12:03 ` Reiner Steib 2003-01-08 12:28 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 44+ messages in thread From: Reiner Steib @ 2003-01-08 12:03 UTC (permalink / raw) On Wed, Jan 08 2003, Lars Magne Ingebrigtsen wrote: > Thanks for the patch; I've applied it to Oort Gnus v0.11 (i. e., CVS). Thanks. I only see the patch for ./lisp in current CVS. What about the second patch (for ./texi)? Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Docu and menu patches for message.el/message.texi 2003-01-08 12:03 ` Reiner Steib @ 2003-01-08 12:28 ` Lars Magne Ingebrigtsen 2003-01-08 15:12 ` Reiner Steib 0 siblings, 1 reply; 44+ messages in thread From: Lars Magne Ingebrigtsen @ 2003-01-08 12:28 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > Thanks. I only see the patch for ./lisp in current CVS. What about > the second patch (for ./texi)? Looks like I forgot to apply that. Now done, and checked in. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Docu and menu patches for message.el/message.texi 2003-01-08 12:28 ` Lars Magne Ingebrigtsen @ 2003-01-08 15:12 ` Reiner Steib 2003-01-08 16:05 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 44+ messages in thread From: Reiner Steib @ 2003-01-08 15:12 UTC (permalink / raw) On Wed, Jan 08 2003, Lars Magne Ingebrigtsen wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> writes: > >> Thanks. I only see the patch for ./lisp in current CVS. What about >> the second patch (for ./texi)? > > Looks like I forgot to apply that. Now done, and checked in. I have provided a ChangeLog entry in my previous message, but maybe it was too lengthy... Suggested texi/ChangeLog entry: --8<---------------cut here---------------start------------->8--- 2003-01-07 Reiner Steib <Reiner.Steib@gmx.de> * message.texi: Updated copyright line. (Mailing Lists): Updated (renamed) function names. (Header Commands): Updated (renamed) function names. (Header Commands): Added message-to-list-only, message-change-subject, message-cross-post-followup-to, message-reduce-to-to-cc and message-add-archive-header. Moved message-sort-headers, message-insert-to, message-insert-newsgroups and message-insert-disposition-notification-to from other sections. (Insertion): Added message-mark-inserted-region, message-mark-insert-file. Moved message-insert-disposition-notification-to to section (Header Commands). (Various Commands): Moved message-insert-wide-reply, message-insert-to, message-insert-newsgroups and message-sort-headers to (Header Commands) section. (Message Headers): Added message-subject-trailing-was-query. (Insertion Variables): Added message-mark-insert-begin and message-mark-insert-end. --8<---------------cut here---------------end--------------->8--- Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Docu and menu patches for message.el/message.texi 2003-01-08 15:12 ` Reiner Steib @ 2003-01-08 16:05 ` Lars Magne Ingebrigtsen 0 siblings, 0 replies; 44+ messages in thread From: Lars Magne Ingebrigtsen @ 2003-01-08 16:05 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > I have provided a ChangeLog entry in my previous message, but maybe it > was too lengthy... I've installed it. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2002-12-29 17:55 ` Lars Magne Ingebrigtsen 2002-12-30 17:58 ` Reiner Steib @ 2003-01-02 16:47 ` Reiner Steib 2003-01-02 18:00 ` Henrik Enberg 2003-01-02 18:29 ` Lars Magne Ingebrigtsen 1 sibling, 2 replies; 44+ messages in thread From: Reiner Steib @ 2003-01-02 16:47 UTC (permalink / raw) On Sun, Dec 29 2002, Lars Magne Ingebrigtsen wrote: > Reiner Steib <4uce.02.r.steib@gmx.net> writes: > >>> Or the heuristic approach by Florian Weimer? >>> >>> <URL:http://www.enyo.de/fw/scripts/message-id-or-email.pl> [...] > Did you look into doing this in Lisp? I think that would be neat... Beside some fine tuning concerning Perl Regexps [1], I've rewritten the same it in Lisp. But before I prepare the inclusion in gnus-art.el: What about the paperwork in this case? Is it allowed to use the ratings and regexps from Florian's script? BTW, doing `C-x C-s' while composing a message inserts the References and X-Draft-From header and moves the point to the References header. Bye, Reiner. [1] E.g., what's the Lisp-RE equivalent for "^[0-9][0-9a-fA-F]{3,3}"? Is "^[0-9][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][^0-9a-fA-F]" correct? -- ,,, (o o) ---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2003-01-02 16:47 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib @ 2003-01-02 18:00 ` Henrik Enberg 2003-01-02 18:16 ` Norbert Koch 2003-01-02 18:29 ` Lars Magne Ingebrigtsen 1 sibling, 1 reply; 44+ messages in thread From: Henrik Enberg @ 2003-01-02 18:00 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > [1] E.g., what's the Lisp-RE equivalent for "^[0-9][0-9a-fA-F]{3,3}"? ^^^^^ This works in Emacs 21. Dunno about XEmacs. > Is "^[0-9][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][^0-9a-fA-F]" correct? I think so. It isn't pretty, but it should work. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2003-01-02 18:00 ` Henrik Enberg @ 2003-01-02 18:16 ` Norbert Koch 0 siblings, 0 replies; 44+ messages in thread From: Norbert Koch @ 2003-01-02 18:16 UTC (permalink / raw) Henrik Enberg <henrik@enberg.org> writes: Hi! > Reiner Steib <4uce.02.r.steib@gmx.net> writes: > >> [1] E.g., what's the Lisp-RE equivalent for "^[0-9][0-9a-fA-F]{3,3}"? > ^^^^^ > > This works in Emacs 21. Dunno about XEmacs. XEmacs (at least the 21.4 series) knows about {n,m}, but you need to quote it: `\{n,m\}' serves as an interval quantifier, analogous to `*' or `+', but specifies that the expression must match at least N times, but no more than M times. This syntax is supported by most Unix regexp utilities, and has been introduced to XEmacs for the version 20.3. Unfortunately, the non-greedy version of this quantifier does not exist currently, although it does in Perl. Thus, the expanded version seems to be more safe. norbert. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] More buttons for emacs stuff, MIDs, mail addresses 2003-01-02 16:47 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 2003-01-02 18:00 ` Henrik Enberg @ 2003-01-02 18:29 ` Lars Magne Ingebrigtsen 1 sibling, 0 replies; 44+ messages in thread From: Lars Magne Ingebrigtsen @ 2003-01-02 18:29 UTC (permalink / raw) Reiner Steib <4uce.02.r.steib@gmx.net> writes: > But before I prepare the inclusion in gnus-art.el: What about the > paperwork in this case? Is it allowed to use the ratings and regexps > from Florian's script? If it can be considered a derivative of Florian's script, and it's impossible to get copyright disclaimers from Florian, then it can't be included in the Gnus distribution. So it basically a question of what extent you're using stuff in. If you've only taken a couple of lines, then that's probably OK, but if it's more, we need paperwork. > BTW, doing `C-x C-s' while composing a message inserts the References > and X-Draft-From header and moves the point to the References header. Yup. Fix in Oort Gnus v0.08 (i. e., CVS). -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 44+ messages in thread
end of thread, other threads:[~2003-01-08 16:05 UTC | newest] Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <lcoumukovevvjjmjdn1svsl8ns6316aoca@4ax.com> [not found] ` <3D6FED17.6040201@yahoo.com.cn> [not found] ` <m3ptvr2j4k.fsf@hartford-hwp.com> [not found] ` <ilu8z2c4hl5.fsf@latte.josefsson.org> [not found] ` <alfu5t$m59$1@quimby.gnus.org> 2002-09-09 12:43 ` Buttonize man page links Reiner Steib 2002-09-09 13:12 ` Simon Josefsson 2002-09-09 14:12 ` Reiner Steib 2002-09-09 14:16 ` Per Abrahamsen 2002-09-09 17:15 ` Andreas Fuchs 2002-09-10 7:26 ` Mats Lidell 2002-09-18 20:41 ` [patch] More buttons for emacs stuff, MIDs, mail addresses (was: Buttonize man page links) Reiner Steib 2002-09-19 11:42 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 2002-09-20 15:58 ` Kai Großjohann 2002-09-23 18:12 ` Reiner Steib 2002-09-23 19:55 ` Kai Großjohann 2002-09-24 0:32 ` Katsumi Yamaoka 2002-09-24 8:07 ` Kai Großjohann 2002-09-24 12:40 ` Katsumi Yamaoka 2002-09-24 20:28 ` XEmacs compiler warnings (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) Reiner Steib 2002-09-25 13:16 ` XEmacs compiler warnings Kai Großjohann 2002-09-25 17:44 ` Reiner Steib 2002-09-24 20:29 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 2002-09-24 20:39 ` Paul Jarc 2002-09-24 22:15 ` Reiner Steib 2002-09-25 13:52 ` Kai Großjohann 2002-09-25 14:51 ` Reiner Steib 2002-09-25 15:02 ` Kai Großjohann 2002-09-24 19:28 ` Raymond Scholz 2002-09-24 19:49 ` Frank Schmitt 2002-09-24 20:56 ` Reiner Steib 2002-10-16 17:20 ` Raymond Scholz 2002-10-16 20:10 ` Raymond Scholz 2002-10-17 15:03 ` Reiner Steib 2002-12-29 17:55 ` Lars Magne Ingebrigtsen 2002-12-30 17:58 ` Reiner Steib 2003-01-01 19:09 ` Lars Magne Ingebrigtsen 2003-01-01 20:38 ` Reiner Steib 2003-01-01 20:59 ` Lars Magne Ingebrigtsen 2003-01-07 18:21 ` Docu and menu patches for message.el/message.texi (was: [patch] More buttons for emacs stuff, MIDs, mail addresses) Reiner Steib 2003-01-08 4:08 ` Docu and menu patches for message.el/message.texi Lars Magne Ingebrigtsen 2003-01-08 12:03 ` Reiner Steib 2003-01-08 12:28 ` Lars Magne Ingebrigtsen 2003-01-08 15:12 ` Reiner Steib 2003-01-08 16:05 ` Lars Magne Ingebrigtsen 2003-01-02 16:47 ` [patch] More buttons for emacs stuff, MIDs, mail addresses Reiner Steib 2003-01-02 18:00 ` Henrik Enberg 2003-01-02 18:16 ` Norbert Koch 2003-01-02 18:29 ` Lars Magne Ingebrigtsen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).