* key to yank text at point into minibuffer? @ 2006-02-11 17:17 Drew Adams 2006-02-12 14:51 ` Mathias Dahl ` (2 more replies) 0 siblings, 3 replies; 46+ messages in thread From: Drew Adams @ 2006-02-11 17:17 UTC (permalink / raw) Perhaps something like this already exists and I'm unaware of it. If not, perhaps it could be added - it represents a trivial change for users and implementers. If users don't use it, then it means no change to them. Some people use ffap.el. It tries to DTRT by placing some text at point (with sometimes minor changes) into the minibuffer to serve as initial input. It does this with file names, URLS, etc. in the buffer text. I tried ffap.el for a while and found I didn't care much for it. In particular, in Dired I rarely want to use the file name at point when I use `C-x f' - if I want that then I just use `RET'. Anyway, if people find ffap.el handy that's fine. I realize that it also does other things, including mailto: prefixing and remote-file handling. Anyway, as a poor-man's replacement for some of the ffap functionality, I added a minibuffer key (I use `M-.') to all minibuffer maps. This command just yanks the symbol name at point into the minibuffer, replacing what was there. It uses Emacs-Lisp symbol syntax, so, in practice, this also picks up file names and URLs in the buffer. IOW, it provides some of what ffap provides (the part I want), but without its DTRT second-guessing and only upon demand (like setting `ffap-require-prefix' to t). Also, the symbol name at point can be useful input even when it is not a file name or URL. Sometimes, you might want the word at point (no symbol syntax) instead. So, I use a user option that is a list of text-grabber functions - by default, the first function grabs the symbol name at point, the second grabs the word at point, and the third grabs the URL at point, prefixing it with http:// if needed. In the minibuffer, a single `M-.' yanks the symbol name at point, a second `M-.' replaces that with the word at point, and a third yanks the URL. Other functions could be added to the list to do things like add mailto: - the list is customizable. In practice, I use a single `M-.' 90% of the time, a second `M-.' 10% of the time, and a third `M-.' 0% of the time (so far). A symbol name is usually the text I want to yank. The other thing to mention is that many commands offer a default value that is the word or symbol name at point. But other commands instead offer a different default value that is deemed better most of the time. Providing `M-.' lets you get the text at point even when the command's default value is something else. You can think of it as an extension to `M-n' in this respect. Any interest in adding such a feature? Who will be the first to let me know that it already exists in some (better) form ;-)? ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-11 17:17 key to yank text at point into minibuffer? Drew Adams @ 2006-02-12 14:51 ` Mathias Dahl 2006-02-12 17:22 ` Drew Adams 2006-02-13 18:00 ` Kevin Rodgers 2006-02-14 1:45 ` Juri Linkov 2 siblings, 1 reply; 46+ messages in thread From: Mathias Dahl @ 2006-02-12 14:51 UTC (permalink / raw) "Drew Adams" <drew.adams@oracle.com> writes: Anyway, as a poor-man's replacement for some of the ffap functionality, I added a minibuffer key (I use `M-.') to all minibuffer maps. This command just yanks the symbol name at point into the minibuffer, replacing what was there. ... Any interest in adding such a feature? I like the idea. I use C-w in isearch a lot, and this is similar. I cannot see many cases I would use it right now, but I think it would be useful when doing C-h f and when the word to the left of point is just a partial function name. For example, if point is just after `string-match' and I do C-h f I get string-match suggested as default value. That is good. Sometimes I start writing a function name but I don't know the whole name. In those cases C-h f will not help me at all, even if I have written the first characters of the function name. In that case, this M-. key would have been useful to me. I am curious, what do you use this for? ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-12 14:51 ` Mathias Dahl @ 2006-02-12 17:22 ` Drew Adams 2006-02-12 21:07 ` Mathias Dahl 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-12 17:22 UTC (permalink / raw) Anyway, as a poor-man's replacement for some of the ffap functionality, I added a minibuffer key (I use `M-.') to all minibuffer maps. This command just yanks the symbol name at point into the minibuffer, replacing what was there. ... Any interest in adding such a feature? I like the idea. I use C-w in isearch a lot, and this is similar. Yes. `C-w' in isearch was one inspiration for this; the other was ffap. But there is no need, I think, for the analog of isearch's repeated `C-w' yanking successive words. That's one reason I instead use repeating to employ alternative text-grabbing functions. I cannot see many cases I would use it right now, but I think it would be useful when doing C-h f and when the word to the left of point is just a partial function name. For example, if point is just after `string-match' and I do C-h f I get string-match suggested as default value. That is good. Sometimes I start writing a function name but I don't know the whole name. In those cases C-h f will not help me at all, even if I have written the first characters of the function name. In that case, this M-. key would have been useful to me. Yes. However: . Cursor after (complete function name) "string-match" `C-h f' already proposes `string-match' as the default. The proposal is useful in cases where the default value is *not* the text at point. . Wrt the case of a partial name like "string-ma": yes, this would help. (You also have `ESC-TAB' (`lisp-complete-symbol').) I am curious, what do you use this for? Uh, as I said, to pick up a file name or URL (or other name) in a buffer, for use as minibuffer input. I use it as a poor-man's ffap. Example: You're in a SQL script on a line like "@some-long-file-name.sql". You use `C-x 4 f M-.' to pull that text into the minibuffer, to visit that file. This saves you selecting the text and pasting it into the minibuffer; that's all. This example also points out the "poor-man" aspect: the symbol name at point is not exactly what you want here, because it includes the `@', which you must then delete. And if the script didn't explicitly include ".sql" in the file name, then you would need to add that in the minibuffer (perhaps via completion). In many cases, this mechanism gives you exactly the text you need; in some cases you must tweak what it gives you. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-12 17:22 ` Drew Adams @ 2006-02-12 21:07 ` Mathias Dahl 2006-02-12 21:24 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Mathias Dahl @ 2006-02-12 21:07 UTC (permalink / raw) Cc: emacs-devel > I am curious, what do you use this for? > > Uh, as I said, to pick up a file name or URL (or other name) in a buffer, > for use as minibuffer input. Yeah yeah yeah, you explained that... :) I was more interested in the below: > Example: You're in a SQL script on a line like "@some-long-file-name.sql". > You use `C-x 4 f M-.' to pull that text into the minibuffer, to visit that > file. This saves you selecting the text and pasting it into the minibuffer; > that's all. This was what I was curious about. I'm always interested in how other Emacs users use Emacs to get things done in an effective way. ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-12 21:07 ` Mathias Dahl @ 2006-02-12 21:24 ` Drew Adams 0 siblings, 0 replies; 46+ messages in thread From: Drew Adams @ 2006-02-12 21:24 UTC (permalink / raw) > Example: You're in a SQL script on a line like > "@some-long-file-name.sql". You use `C-x 4 f M-.' to pull > that text into the minibuffer, to visit that file. This > saves you selecting the text and pasting it into the > minibuffer; that's all. This was what I was curious about. I'm always interested in how other Emacs users use Emacs to get things done in an effective way. Ouchin' yowza! Please don't look to me for effective ways to do anything. Ineffective ways to do something (or effective ways to do nothing) I might be able to help you with. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-11 17:17 key to yank text at point into minibuffer? Drew Adams 2006-02-12 14:51 ` Mathias Dahl @ 2006-02-13 18:00 ` Kevin Rodgers 2006-02-13 18:22 ` Drew Adams 2006-02-14 1:45 ` Juri Linkov 2 siblings, 1 reply; 46+ messages in thread From: Kevin Rodgers @ 2006-02-13 18:00 UTC (permalink / raw) Drew Adams wrote: > I tried ffap.el for a while and found I didn't care much for it. In > particular, in Dired I rarely want to use the file name at point when I use > `C-x f' - if I want that then I just use `RET'. Anyway, if people find > ffap.el handy that's fine. I realize that it also does other things, > including mailto: prefixing and remote-file handling. (define-key dired-mode-map "\C-x\C-f" 'find-file) ; override ffap-bindings -- Kevin Rodgers ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-13 18:00 ` Kevin Rodgers @ 2006-02-13 18:22 ` Drew Adams 2006-02-13 21:39 ` Kevin Rodgers 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-13 18:22 UTC (permalink / raw) > I tried ffap.el for a while and found I didn't care much for it. In > particular, in Dired I rarely want to use the file name at > point when I use `C-x f' - if I want that then I just use `RET'. > Anyway, if people find ffap.el handy that's fine. I realize that it > also does other things, including mailto: prefixing and remote-file > handling. (define-key dired-mode-map "\C-x\C-f" 'find-file) ; override ; ffap-bindings Well, that wasn't the real point of my posting, but yes, that would do the trick for `C-x C-f' in Dired. However, ffap.el does a lot more in Dired, and there are other such bindings to override. I no longer use ffap.el, but when I did, I added an option to inhibit it, and set the option as a local variable when in Dired mode. That might be overkill, but it accomplished what I wanted. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-13 18:22 ` Drew Adams @ 2006-02-13 21:39 ` Kevin Rodgers 2006-02-13 21:50 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Kevin Rodgers @ 2006-02-13 21:39 UTC (permalink / raw) Drew Adams wrote: > > I tried ffap.el for a while and found I didn't care much for it. In > > particular, in Dired I rarely want to use the file name at > > point when I use `C-x f' - if I want that then I just use `RET'. > > Anyway, if people find ffap.el handy that's fine. I realize that it > > also does other things, including mailto: prefixing and remote-file > > handling. > > (define-key dired-mode-map "\C-x\C-f" 'find-file) ; override > ; ffap-bindings > > Well, that wasn't the real point of my posting, but yes, that would do the > trick for `C-x C-f' in Dired. However, ffap.el does a lot more in Dired, and > there are other such bindings to override. ffap.el itself says: ;; For the default installation, add this line to your .emacs file: ;; ;; (ffap-bindings) ; do default key bindings ;; ;; ffap-bindings makes the following global key bindings: ;; ;; C-x C-f find-file-at-point (abbreviated as ffap) ;; C-x C-r ffap-read-only ;; C-x C-v ffap-alternate-file ;; ;; C-x d dired-at-point ;; C-x C-d ffap-list-directory ;; ;; C-x 4 f ffap-other-window ;; C-x 4 r ffap-read-only-other-window ;; C-x 4 d ffap-dired-other-window ;; ;; C-x 5 f ffap-other-frame ;; C-x 5 r ffap-read-only-other-frame ;; C-x 5 d ffap-dired-other-frame ;; ;; S-mouse-3 ffap-at-mouse ;; C-S-mouse-3 ffap-menu ;; ;; ffap-bindings also adds hooks to make the following local bindings ;; in vm, gnus, and rmail: ;; ;; M-l ffap-next, or ffap-gnus-next in gnus (l == "link") ;; M-m ffap-menu, or ffap-gnus-menu in gnus (m == "menu") ;; ;; If you do not like these bindings, modify the variable ;; `ffap-bindings', or write your own. That last part is muy importante. > I no longer use ffap.el, but when I did, I added an option to inhibit it, > and set the option as a local variable when in Dired mode. That might be > overkill, but it accomplished what I wanted. I think that would be a userful feature. -- Kevin Rodgers ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-13 21:39 ` Kevin Rodgers @ 2006-02-13 21:50 ` Drew Adams 2006-02-14 15:53 ` Kevin Rodgers 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-13 21:50 UTC (permalink / raw) ffap.el itself says: ;; For the default installation, add this line to your .emacs file: ;; ;; (ffap-bindings) ; do default key bindings ;; ;; ffap-bindings makes the following global key bindings: ... ;; If you do not like these bindings, modify the variable ;; `ffap-bindings', or write your own. That last part is muy importante. Yes, I read that. That was why I suggested that ffap instead have a minor mode. I'm not crazy about that way of turning a set of bindings on. > I no longer use ffap.el, but when I did, I added an option to > inhibit it, and set the option as a local variable when in Dired mode. > That might be overkill, but it accomplished what I wanted. I think that would be a userful feature. I think ffap.el should instead have a minor mode with its own keymap. (BTW, I like "userful" for "user useful", whether it was a typo or not.) ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-13 21:50 ` Drew Adams @ 2006-02-14 15:53 ` Kevin Rodgers 2006-02-14 21:24 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Kevin Rodgers @ 2006-02-14 15:53 UTC (permalink / raw) Drew Adams wrote: > ffap.el itself says: > > ;; For the default installation, add this line to your .emacs file: > ;; > ;; (ffap-bindings) ; do default key bindings > ;; > ;; ffap-bindings makes the following global key bindings: > ... > ;; If you do not like these bindings, modify the variable > ;; `ffap-bindings', or write your own. > > That last part is muy importante. > > Yes, I read that. That was why I suggested that ffap instead have a minor > mode. I'm not crazy about that way of turning a set of bindings on. I agree, and I like your minor mode idea. > > I no longer use ffap.el, but when I did, I added an option to > > inhibit it, and set the option as a local variable when in Dired mode. > > That might be overkill, but it accomplished what I wanted. > > I think that would be a userful feature. > > I think ffap.el should instead have a minor mode with its own keymap. Is it as simple as this: (defvar ffap-mode-map (let ((map (make-sparse-keymap))) ;; see ffap-bindings: (define-key map [S-mouse-3] 'ffap-at-mouse) (define-key map [C-S-mouse-3] 'ffap-menu) (define-key map "\C-x\C-f" 'find-file-at-point) (define-key map "\C-x\C-r" 'ffap-read-only) (define-key map "\C-x\C-v" 'ffap-alternate-file) (define-key map "\C-x4f" 'ffap-other-window) (define-key map "\C-x5f" 'ffap-other-frame) (define-key map "\C-x4r" 'ffap-read-only-other-window) (define-key map "\C-x5r" 'ffap-read-only-other-frame) (define-key map "\C-xd" 'dired-at-point) (define-key map "\C-x4d" 'ffap-dired-other-window) (define-key map "\C-x5d" 'ffap-dired-other-frame) (define-key map "\C-x\C-d" 'ffap-list-directory) ;; (add-hook 'gnus-summary-mode-hook 'ffap-gnus-hook) ;; (add-hook 'gnus-article-mode-hook 'ffap-gnus-hook) ;; (add-hook 'vm-mode-hook 'ffap-ro-mode-hook) ;; (add-hook 'rmail-mode-hook 'ffap-ro-mode-hook) map)) (defvar ffap-mode-hook nil "Hook run by `ffap-mode'.") (define-minor-mode ffap-mode "Toggle `ffap' bindings in every buffer. \\{ffap-mode-map}" :global t :lighter "" (run-hooks 'ffap-mode-hook)) > (BTW, I like "userful" for "user useful", whether it was a typo or not.) It was a typo, but a serendipitous one. I was going to add it to Wikipedia's list of portmanteau words, but then Google pointed me to userful.com, a company that markets a GNU/Linux-based PC for public places like libraries. -- Kevin Rodgers ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-14 15:53 ` Kevin Rodgers @ 2006-02-14 21:24 ` Drew Adams 2006-02-16 17:16 ` Kevin Rodgers 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-14 21:24 UTC (permalink / raw) > I think ffap.el should instead have a minor mode with its own keymap. Is it as simple as this: (defvar ffap-mode-map (let ((map (make-sparse-keymap))) (define-key map [S-mouse-3] 'ffap-at-mouse) ... map)) (defvar ffap-mode-hook nil "Hook run by `ffap-mode'.") (define-minor-mode ffap-mode "Toggle `ffap' bindings in every buffer. \\{ffap-mode-map}" :global t :lighter "" (run-hooks 'ffap-mode-hook)) Yes, I think so. However: . Does "" for :lighter act the same as nil? I'm not sure - the doc only speaks of nil. Logically, I guess "" would display an empty string when the mode is on and display nothing when it is off ;-). . Isn't it good practice to show the mode name in the lighter? Shouldn't people see whether or not they are in ffap mode? ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-14 21:24 ` Drew Adams @ 2006-02-16 17:16 ` Kevin Rodgers 2006-02-19 17:27 ` Juri Linkov 0 siblings, 1 reply; 46+ messages in thread From: Kevin Rodgers @ 2006-02-16 17:16 UTC (permalink / raw) Drew Adams wrote: > > I think ffap.el should instead have a minor mode with its own keymap. > > Is it as simple as this: > (defvar ffap-mode-map > (let ((map (make-sparse-keymap))) > (define-key map [S-mouse-3] 'ffap-at-mouse) > ... > map)) > (defvar ffap-mode-hook nil "Hook run by `ffap-mode'.") > (define-minor-mode ffap-mode > "Toggle `ffap' bindings in every buffer. > \\{ffap-mode-map}" > :global t :lighter "" > (run-hooks 'ffap-mode-hook)) > > Yes, I think so. > > However: > > . Does "" for :lighter act the same as nil? I'm not sure - the doc only > speaks of nil. Logically, I guess "" would display an empty string when the > mode is on and display nothing when it is off ;-). I guess so, too. The difference is that an entry isn't added to minor-mode-alist for :lighter nil. > . Isn't it good practice to show the mode name in the lighter? Shouldn't > people see whether or not they are in ffap mode? I don't know. I figure the global minor modes I'm familiar with (auto-compression, font-lock, and mouse-wheel) don't show up in the mode line so I'd leave it out. But then, those modes don't override default keybindings either. What does everyone think? There's also a bug above: define-minor-mode already arranges for ffap-mode-hook (and either ffap-mode-on-hook or ffap-mode-off-hook) to be run, so calling run-hooks is redundant at best. -- Kevin Rodgers ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-16 17:16 ` Kevin Rodgers @ 2006-02-19 17:27 ` Juri Linkov 0 siblings, 0 replies; 46+ messages in thread From: Juri Linkov @ 2006-02-19 17:27 UTC (permalink / raw) Cc: emacs-devel >> . Isn't it good practice to show the mode name in the lighter? Shouldn't >> people see whether or not they are in ffap mode? > > I don't know. I figure the global minor modes I'm familiar with > (auto-compression, font-lock, and mouse-wheel) don't show up in the mode > line so I'd leave it out. But then, those modes don't override default > keybindings either. What does everyone think? The mode line is already too overburdened, so I think adding a label for ffap is not desirable. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-11 17:17 key to yank text at point into minibuffer? Drew Adams 2006-02-12 14:51 ` Mathias Dahl 2006-02-13 18:00 ` Kevin Rodgers @ 2006-02-14 1:45 ` Juri Linkov 2006-02-14 16:55 ` Drew Adams 2 siblings, 1 reply; 46+ messages in thread From: Juri Linkov @ 2006-02-14 1:45 UTC (permalink / raw) Cc: emacs-devel > Providing `M-.' lets you get the text at point even when the command's > default value is something else. You can think of it as an extension to > `M-n' in this respect. Then why not use `M-n' directly, with every successive `M-n' inserting the next symbol/URL/file name to the minibuffer? I have a simple patch that does this for the grep prompt, but it was held due to the feature freeze. However, to implement a replacement for ffap, it should be improved further to allow extending the list of default values with more user-defined values. I.e. instead of giving the list of default values as an argument of one of the minibuffer functions, there should be a new buffer-local variable with a user-defined function to get some text from the buffer and add it to the list of default values. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-14 1:45 ` Juri Linkov @ 2006-02-14 16:55 ` Drew Adams 2006-02-17 21:57 ` Juri Linkov 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-14 16:55 UTC (permalink / raw) > Providing `M-.' lets you get the text at point even when the command's > default value is something else. You can think of it as an > extension to `M-n' in this respect. Then why not use `M-n' directly, Because it often makes sense for a given command to use a default value that is *not* the word/symbol/whatever at point - the command provides a value that is (in principle) smarter, more specific to that command (DTRT). The thing at point can sometimes be useful, but there is sometimes a better default value, which might be totally unrelated to the buffer text. There is no reason not to have both available: 1) an intelligent, command-specific default value and 2) something at point (available always). with every successive `M-n' inserting the next symbol/URL/file name to the minibuffer? Do you mean insert (so, accumulate) or replace what's in the minibuffer? Your grep example below makes me think the former. Successive `M-n' have the meaning now of traversing the history list. There is no reason to confuse people by mapping an additional meaning onto successive `M-n'. And there is no reason not to provide this orthogonal feature (value) via a different key. Also, assuming you mean to accumulate (not replace) successive words, there are relatively few commands that expect/accept minibuffer input of multiple words - `grep' is one such (provided you quote the string). For those exceptional commands, users could simply select the words and then paste them into the minibuffer. This is a design choice - whether successive `M-.' (or `M-n', in your suggestion) should accumulate text at point, as you suggest, or should provide alternative kinds of thing at point, as I suggested. I can see arguments for each approach. I admitted, for instance, that 90% of the time I use simply the symbol at point, and the other 9-10% of the time I use the word at point. One might argue, then, that there is not much need for providing alternative text-grabbing functions. I expect that such alternatives can be useful, especially with buffer-local values specific to particular modes, but that's just my intuition speaking. My guess is that being able to grab successive words at point is less useful than being able to grab different kinds of thing at point. Note too that one could have a particular text-grabbing function that would do just what you describe: it could, itself, let you grab successive words. There are several ways it could do this. So, in this sense, your approach could be a particular implementation of mine (just use a particular text-grabbing function). I have a simple patch that does this for the grep prompt, but it was held due to the feature freeze. However, to implement a replacement for ffap, To be clear about my proposal, anyway: I wasn't suggesting to get rid of ffap. I meant only that (even independently of employing it as a poor-man's ffap) using `M-.' to retrieve something at point would be useful. We can forget about ffap in this discussion. it should be improved further to allow extending the list of default values with more user-defined values. I.e. instead of giving the list of default values as an argument of one of the minibuffer functions, there should be a new buffer-local variable with a user-defined function to get some text from the buffer and add it to the list of default values. I don't follow you completely. Could you give an example of what you mean, contrasting it with the behavior I described? I think (but please clarify) that you're saying a few things: 1) Use a single buffer-local function, not a list of functions, to retrieve the thing at point; 2) Make the function buffer-local; 3) Add the retrieved thing to the standard list of default values. I spoke to #3 above: I'd prefer to keep the default-value list separate from this text-grabbing feature. They are logically independent: one is decided by the command; the other is decided by the text at point and the user. Wrt #1: I'd prefer a list of different grab functions, as I said (with successive `M-.' using successive functions), rather than a single function. Wrt #2: Nothing would prevent a library or user from making the list of functions buffer-local and giving it different values in particular buffers. That is, I don't see the "further improvement" needed: Just have a variable that is the list of grab functions. Users and programs can always make it buffer-local and give it different values. (Yes, I know, there is a conflict between having the variable be a user option and letting programs modify it, but that can be resolved in different ways.) ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-14 16:55 ` Drew Adams @ 2006-02-17 21:57 ` Juri Linkov 2006-02-18 2:55 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Juri Linkov @ 2006-02-17 21:57 UTC (permalink / raw) Cc: emacs-devel > with every successive `M-n' inserting the next symbol/URL/file > name to the minibuffer? > > Do you mean insert (so, accumulate) or replace what's in the minibuffer? I mean to replace i.e. exactly how M-p works. > Successive `M-n' have the meaning now of traversing the history list. There > is no reason to confuse people by mapping an additional meaning onto > successive `M-n'. There is no reason to limit the default value list only to one value. > This is a design choice - whether successive `M-.' (or `M-n', in your > suggestion) should accumulate text at point, as you suggest, or should > provide alternative kinds of thing at point, as I suggested. I can see > arguments for each approach. These approaches are not conflicting. You suggest `M-.' to accumulate text at point with replacing alternative kinds of thing at point. And I suggest `M-n' to replace the minibuffer contents with default values pre-constructed from alternative kinds of thing at point. So these approaches are rather complementary. > I have a simple patch that does this for the grep prompt, but > it was held due to the feature freeze. > > However, to implement a replacement for ffap, > > To be clear about my proposal, anyway: I wasn't suggesting to get rid of > ffap. I meant only that (even independently of employing it as a poor-man's > ffap) using `M-.' to retrieve something at point would be useful. We can > forget about ffap in this discussion. This is what I meant too: to leave ffap alone, and to develop a simpler way to do the same things as ffap. > it should be improved further to allow extending the list of > default values with more user-defined values. > I.e. instead of giving the list of default values as an > argument of one of the minibuffer functions, there should be > a new buffer-local variable with a user-defined function to > get some text from the buffer and add it to > the list of default values. > > I think (but please clarify) that you're saying a few things: 1) Use a > single buffer-local function, not a list of functions, to retrieve the thing > at point; 2) Make the function buffer-local; 3) Add the retrieved thing to > the standard list of default values. Yes, exactly. > I spoke to #3 above: I'd prefer to keep the default-value list separate > from this text-grabbing feature. Yes, they are separate features. > They are logically independent: one is decided by the command; the other > is decided by the text at point and the user. They are not completely independent: often the text at point is what the user wants to have in a particular place inside the command in the minibuffer. And `M-n' does this just fine. OTOH, `M-.' does the same thing the other way with more keystrokes required from the user, and still is restricted in what the user might expect from this feature: to grab successive characters, words, maybe even lines to the minibuffer the same way as e.g. isearch does with C-w and C-y. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-17 21:57 ` Juri Linkov @ 2006-02-18 2:55 ` Drew Adams 2006-02-19 17:28 ` Juri Linkov 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-18 2:55 UTC (permalink / raw) > with every successive `M-n' inserting the next symbol/URL/file > name to the minibuffer? > > Do you mean insert (so, accumulate) or replace what's in the > minibuffer? I mean to replace i.e. exactly how M-p works. OK, me too. > Successive `M-n' have the meaning now of traversing the > history list. There is no reason to confuse people by mapping > an additional meaning onto successive `M-n'. There is no reason to limit the default value list only to one value. That may be, but I think it's beside the point I was making: There would still be two different things that `M-n' would be doing (promoting confusion, IMO): 1) cycle among the values in your default-value list and 2) what it does now: advance in the history list. > This is a design choice - whether successive `M-.' (or `M-n', in your > suggestion) should accumulate text at point, as you suggest, or should > provide alternative kinds of thing at point, as I suggested. I can see > arguments for each approach. These approaches are not conflicting. You suggest `M-.' to accumulate text at point with replacing alternative kinds of thing at point. Not sure what you mean by "accumulate...replacing". I suggested to _replace_ the minibuffer input successively by different alternative things at point. There was no accumulation. And I suggest `M-n' to replace the minibuffer contents with default value pre-constructed from alternative kinds of thing at point. Again, I'm not sure what you mean here. Previously you suggested that M-n would replace (I wasn't sure whether it was accumulate or replace, but you've confirmed replace) the minibuffer input with increasingly greater numbers of words at point. So these approaches are rather complementary. IIUYC, that's also what I said, mentioning that your suite of alternatives (longer strings of words) could be implemented as one of the list of alternative text-grabbing functions that I proposed. > I have a simple patch that does this for the grep prompt, but > it was held due to the feature freeze. > > However, to implement a replacement for ffap, > > To be clear about my proposal, anyway: I wasn't suggesting to > get rid of ffap. I meant only that (even independently of employing > it as a poor-man's ffap) using `M-.' to retrieve something at point > would be useful. We can forget about ffap in this discussion. This is what I meant too: to leave ffap alone, and to develop a simpler way to do the same things as ffap. Some of the same things, yes. > it should be improved further to allow extending the list of > default values with more user-defined values. > I.e. instead of giving the list of default values as an > argument of one of the minibuffer functions, there should be > a new buffer-local variable with a user-defined function to > get some text from the buffer and add it to > the list of default values. > > I think (but please clarify) that you're saying a few things: > 1) Use a single buffer-local function, not a list of functions, > to retrieve the thing at point; 2) Make the function buffer-local; > 3) Add the retrieved thing to the standard list of default values. Yes, exactly. > I spoke to #3 above: I'd prefer to keep the default-value > list separate from this text-grabbing feature. Yes, they are separate features. > They are logically independent: one is decided by the > command; the other is decided by the text at point and the user. They are not completely independent: often the text at point is what the user wants to have in a particular place inside the command in the minibuffer. They are _logically_ independent. Some commands provide text at point as the default value, so in those cases the two coincide. But in the general case they don't. I don't know what you mean by "in a particular place inside the command". If you are talking about inserting the text at point in a particular place within the existing input string, then I'm confused. I thought you were (as I am) talking about the text at point _replacing_ the existing minibuffer input, not being inserted into it. And `M-n' does this just fine. OTOH, `M-.' does the same thing the other way with more keystrokes required from the user, Sorry, I must not be following you at all. How is `M-.' more keystrokes than `M-n'? and still is restricted in what the user might expect from this feature: to grab successive characters, words, maybe even lines to the minibuffer the same way as e.g. isearch does with C-w and C-y. Sorry, I'm lost. I don't see the restriction you're suggesting. Perhaps a concrete example would clear this up. I think I have not understood you. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-18 2:55 ` Drew Adams @ 2006-02-19 17:28 ` Juri Linkov 2006-02-19 19:53 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Juri Linkov @ 2006-02-19 17:28 UTC (permalink / raw) Cc: emacs-devel > > This is a design choice - whether successive `M-.' (or `M-n', in your > > suggestion) should accumulate text at point, as you suggest, or should > > provide alternative kinds of thing at point, as I suggested. I can see > > arguments for each approach. > > These approaches are not conflicting. You suggest `M-.' to accumulate > text at point with replacing alternative kinds of thing at point. > > Not sure what you mean by "accumulate...replacing". I suggested to _replace_ > the minibuffer input successively by different alternative things at point. > There was no accumulation. I mean accumulating only on the first `M-.', and replacing the thing inserted to the minibuffer by the first `M-.' with other things on all successive `M-.'. It would be useful to keep the initial minibuffer input intact, and to insert/replace things within the existing minibuffer input. > I don't know what you mean by "in a particular place inside the command". If > you are talking about inserting the text at point in a particular place > within the existing input string, then I'm confused. I thought you were (as > I am) talking about the text at point _replacing_ the existing minibuffer > input, not being inserted into it. I think `M-.' should not replace the existing minibuffer input, because I imagine such a situation when the user types e.g. `M-!', types a command and wants to *add* the thing at point to the end of the command in the minibuffer. > And `M-n' does this just fine. OTOH, `M-.' does the same thing > the other way with more keystrokes required from the user, > > Sorry, I must not be following you at all. How is `M-.' more keystrokes > than `M-n'? `M-.' requires more keystrokes than `M-n' only for the cases where a complex input string is constructed from things at point (like the grep case). Thus `M-.' requires from the user typing the input string, navigating to the correct place in it and typing `M-.'. > and still is restricted in what the user might expect from this > feature: to grab successive characters, words, > maybe even lines to the minibuffer the same way as e.g. isearch > does with C-w and C-y. > > Sorry, I'm lost. I don't see the restriction you're suggesting. Perhaps a > concrete example would clear this up. I think I have not understood you. I think a single key is not enough to unleash the full potential of `M-.'. I expect that users might want additional keybindings to yank successive characters/words/lines to the minibuffer. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-19 17:28 ` Juri Linkov @ 2006-02-19 19:53 ` Drew Adams 2006-02-20 9:03 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-19 19:53 UTC (permalink / raw) > Not sure what you mean by "accumulate...replacing". I > suggested to _replace_ the minibuffer input successively by > different alternative things at point. There was no accumulation. I mean accumulating only on the first `M-.', and replacing the thing inserted to the minibuffer by the first `M-.' with other things on all successive `M-.'. It would be useful to keep the initial minibuffer input intact, and to insert/replace things within the existing minibuffer input. I think `M-.' should not replace the existing minibuffer input, because I imagine such a situation when the user types e.g. `M-!', types a command and wants to *add* the thing at point to the end of the command in the minibuffer. The version I currently use replaces all minibuffer input, even the first time. But I can see your point. It probably makes sense not to replace minibuffer input on the first use of `M-.' It should only replace stuff that it has previously inserted itself (immediately before). > Sorry, I must not be following you at all. How is `M-.' more > keystrokes than `M-n'? `M-.' requires more keystrokes than `M-n' only for the cases where a complex input string is constructed from things at point (like the grep case). Thus `M-.' requires from the user typing the input string, navigating to the correct place in it and typing `M-.'. I don't see this. Whether the new behavior being discussed is bound to `M-n' or `M-.', it has the same behavior, so the same number of keystrokes would be required in each case. The only issue wrt the key binding is the double-duty that you want `M-n' to perform: minibuffer history traversal and text-grabbing at point. I want to put those two different behaviors on different bindings. > and still is restricted in what the user might expect from this > feature: to grab successive characters, words, > maybe even lines to the minibuffer the same way as e.g. isearch > does with C-w and C-y. > > Sorry, I'm lost. I don't see the restriction you're > suggesting. Perhaps a concrete example would clear this up. > I think I have not understood you. Still no concrete example, BTW. Maybe you're right, but how can I tell without a reason or an example of what you mean? I think a single key is not enough to unleash the full potential of `M-.'. I expect that users might want additional keybindings to yank successive characters/words/lines to the minibuffer. I think you're now making my argument - not the part about needing more key bindings, but the part about the utility of having alternative text-grabbing functions. To be clear, here are my points, after adopting your proposal to not replace initial input, and after thinking some more about the utility of successively grabbing more of the same kind of thing (e.g. words) at point: 1. Use a separate key, not `M-n' (which is history traversal), for text-grabbing. E.g. `M-.'. 2. Bind `M-.' to a list of two things: a) a list of alternative text-grabbing functions - my approach and b) a single function that grabs successive things (e.g. words) - your approach. Either component could be nil, in which case that behavior would not be available. The default value could be this: ((symbol-grabber word-grabber line-grabber URL-grabber) word-grabber). If you never wanted my approach, you would use (nil word-grabber). If I never wanted your approach, I would use ((symbol-grabber word-grabber line-grabber URL-grabber) nil) 3. If both components are present, one of them is the default, to be determined by a new user option. Alternatively, the order of the components could determine which is the default, but in that case you could not use a lambda list for the single-function component (or else we we need to recognize lambda, quoted lambda, function, #', etc). 4. When you use `M-.', you always get the default behavior, as determined by the new option, unless you first use `C-u', in which case you get the alternate behavior. Example: I like the default behavior to cause successive `M-.' to grab alternative things, so I set the option to choose this (i.e. to use the first component). You like the default behavior to cause successive `M-.' to grab successive things of the same kind (e.g. words), so you set the option to choose that (i.e. to use the second component). Each of us is happy. If at some point while inputting I want your preferred behavior, I use `C-u M-.' in the minibuffer. From then on, as long as I keep doing `M-.', I get your behavior of grabbing successive words. If at some point while inputting you want my preferred behavior, you use `C-u M-.'. From then on, as long as you keep using `M-.', you get my behavior of grabbing different kinds of thing at point. Each of us is happy to be able to get the alternate behavior for a one-off use. 5. `C-u' could be more sophisticated yet. If you use a numeric arg, not just plain `C-u', then the numeric arg could specify the number of things to grab, in the case of alternative types of things (first component of the `M-.' list). The second component does let you grab multiple things, but they are always of the same type (e.g. words). Using this, I could use `C-u 6 M-. M-.' to grab 6 of whatever kind of thing the second grabbing function grabs. For example, if I wanted to insert 6 lines, then I could use `C-u 6 M-. M-. M-.'. Granted, for the default grabbing functions this might have limited utility, but users might have special grabbers for which this could be useful. ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-19 19:53 ` Drew Adams @ 2006-02-20 9:03 ` Drew Adams 2006-02-20 19:34 ` Juri Linkov 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-20 9:03 UTC (permalink / raw) I wrote: 2. Bind `M-.' to a list of two things: a) a list of alternative text-grabbing functions and b) a single function that grabs successive things (e.g. words). Either component could be nil, in which case that behavior would not be available. The default value could be this: ((symbol-grabber word-grabber line-grabber URL-grabber) word-grabber). 3. If both components are present, one of them is the default, to be determined by a new user option. 4. When you use `M-.', you always get the default behavior, as determined by the new option, unless you first use `C-u', in which case you get the alternate behavior. 5. If you use a numeric arg, not just plain `C-u', then the numeric arg could specify the number of things to grab. Using this, you could use `C-u 6 M-. M-.' to grab 6 of whatever kind of thing the second grabbing function grabs. FWIW, there is now an implementation of this here: http://www.emacswiki.org/cgi-bin/wiki/icicles.el. See command `icicle-insert-string-at-point' (`M-.') and options `icicle-thing-at-point-functions' and `icicle-default-thing-insertion'. It was a bit trickier than I expected. To try it, just load the file. During minibuffer input, try repeated `M-.' with or without a prefix arg. I made one change: the second component in #2 is a function that moves forward a thing, not a function that grabs a thing. That's easier for accumulating things. See the doc string of `icicle-thing-at-point-functions'. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-20 9:03 ` Drew Adams @ 2006-02-20 19:34 ` Juri Linkov 2006-02-20 23:10 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Juri Linkov @ 2006-02-20 19:34 UTC (permalink / raw) Cc: emacs-devel > During minibuffer input, try repeated `M-.' with or without a prefix arg. Basically I like this functionality. But it still doesn't work as I expected. It is not easy to use as ffap. For instance I can't easily put URLs at point to the minibuffer created by C-x C-f. Unlike ffap that puts the URL to the minibuffer just after typing C-x C-f, `M-.' requires typing more keys: C-x C-f C-a C-k C-u M-. When I suggested adding the thing at point instead of replacing the minibuffer input, I meant that preserving the minibuffer input is needed only for the input typed by the user, but not for the initial input. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-20 19:34 ` Juri Linkov @ 2006-02-20 23:10 ` Drew Adams 2006-02-21 13:43 ` Mathias Dahl ` (3 more replies) 0 siblings, 4 replies; 46+ messages in thread From: Drew Adams @ 2006-02-20 23:10 UTC (permalink / raw) Basically I like this functionality. But it still doesn't work as I expected. It is not easy to use as ffap. For instance I can't easily put URLs at point to the minibuffer created by C-x C-f. Unlike ffap that puts the URL to the minibuffer just after typing C-x C-f, `M-.' requires typing more keys: C-x C-f C-a C-k C-u M-. Ffap tries to do only one thing - it always replaces the existing input, IIUC. That was the way I approached this initially, but you made me see the light ;-). (BTW, everyone should have a key bound in the minibuffer to a command that erases the minibuffer. I use `M-S-backspace'.) When I suggested adding the thing at point instead of replacing the minibuffer input, I meant that preserving the minibuffer input is needed only for the input typed by the user, but not for the initial input. That difference can be known perhaps at the beginning of minibuffer input, by the particular command that reads input (and inserts the initial value). Ffap operates with such knowledge (although I don't think it does anything particular with it). Ffap replaces particular input-reading commands with others, in effect. The approach being discussed is, on the other hand, very general. `M-n' is not a top-level command; it is a minibuffer command. You can use `M-.' at any position in the minibuffer to yank things there - as you suggested. Because of this, there is no way for the `M-.' command to know if what is currently in the minibuffer is stuff that you typed or stuff that was put there initially (by the command using the minibuffer to read). At best, it can know what it has, itself, inserted previously. Further, there is certainly no way for `M-.' to know when _you want_ to add to the input vs replace it. Unless you somehow tell it. `C-u C-u', for instance, might be used to indicate that you want to first erase the minibuffer, before inserting grabbed text - or vice versa, if replacement were the default behavior. However, the very different behaviors of `C-u' and `C-u C-u' might result in confusion. And of course `C-u C-u' is no easier than `C-a C-k'. As I see it, the main alternative to explicitly indicating one's intention wrt the existing input is to return to the behavior I had before: when alternative text-grabbing functions are cycled, they each replace the existing input (no matter where it came from) - no insertion without replacement in the case of alternative grab functions. My preference would be what I currently have: insertion without replacement, requiring you to first empty the minibuffer if you want replacement. ---- FYI, I just uploaded a new version that also lets you use a negative prefix arg to successively grab text to the left of the cursor. A numeric prefix arg (not plain `C-u') imposes the grab direction for all subsequent `M-.' - until the next numeric prefix arg of course. And, as before, the magnitude of the arg determines the number of things to grab. For instance, `M-- M-.' grabs and inserts the word to the left of point. Subsequent `M-.' continue to yank words further to the left, so that you can build up the string to the left of point (in order of course). If you then use `C-u 2 M-.', the previously yanked input is replaced by the two (prefix value=2) words to the right of point. Subsequent `M-.' then continue to grab successive words to the right. Yes, I said "replaced". You can get the effect of grabbing text both to the left and to the right, by simply doing something (e.g. `C-b C-f') to interrupt the chain of consecutive `M-n'. For instance, `M-x foobar M-- M-. M-. M-. C-b C-f C-u 1 M-.' will yank three words to the left of point and one word to the right of it. This is quicker than it sounds - again, it's easier to experience than to describe. In this way, the exact position of point is not so critical. Try it here: http://www.emacswiki.org/cgi-bin/wiki/icicles.el ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-20 23:10 ` Drew Adams @ 2006-02-21 13:43 ` Mathias Dahl 2006-02-21 13:46 ` Mathias Dahl ` (2 subsequent siblings) 3 siblings, 0 replies; 46+ messages in thread From: Mathias Dahl @ 2006-02-21 13:43 UTC (permalink / raw) Cc: emacs-devel > (BTW, everyone should have a key bound in the minibuffer to a command that > erases the minibuffer. I use `M-S-backspace'.) I agree. Many shells have that and in a way, Emacs' different prompts have the same function. Such a key bound by default in Emacs would be useful, and I think it should do `delete', not `kill'. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-20 23:10 ` Drew Adams 2006-02-21 13:43 ` Mathias Dahl @ 2006-02-21 13:46 ` Mathias Dahl 2006-02-22 6:10 ` Miles Bader 2006-02-22 15:31 ` Johan Bockgård 2006-02-24 0:34 ` Juri Linkov 3 siblings, 1 reply; 46+ messages in thread From: Mathias Dahl @ 2006-02-21 13:46 UTC (permalink / raw) Cc: emacs-devel > And of course `C-u C-u' is > no easier than `C-a C-k'. Really? I find that the former is much easier to type. Keep Ctrl pressed and quickly press `u' two times with the same finger. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-21 13:46 ` Mathias Dahl @ 2006-02-22 6:10 ` Miles Bader 0 siblings, 0 replies; 46+ messages in thread From: Miles Bader @ 2006-02-22 6:10 UTC (permalink / raw) Cc: Drew Adams, emacs-devel "Mathias Dahl" <mathias.dahl@gmail.com> writes: >> And of course `C-u C-u' is >> no easier than `C-a C-k'. > > Really? I find that the former is much easier to type. Keep Ctrl > pressed and quickly press `u' two times with the same finger. Well, I have plain "C-u" bound to erase the minibuffer -- surprises me occasionally, but very convenient! However, I've always found "C-a C-k" _very_ easy and quick to type -- the initial pinky reach to the control key takes far longer than the following "a" and "k", and because of the way your fingers are positioned on the keyboard, the "a" and "k" are almost free: the "a" is right under your ring finger while you're holding the control key, and the "k" is on the home row of the opposite hand (which hasn't moved). C-a C-k is also pretty much an emacs idiom for killing the current line in situations where a more specialized binding isn't available (I use a program that has "emacs like" keybindings, but where C-k does something nasty, and I have to constantly remind myself not to use C-a C-k... -Miles -- A zen-buddhist walked into a pizza shop and said, "Make me one with everything." ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-20 23:10 ` Drew Adams 2006-02-21 13:43 ` Mathias Dahl 2006-02-21 13:46 ` Mathias Dahl @ 2006-02-22 15:31 ` Johan Bockgård 2006-02-24 15:48 ` Drew Adams 2006-02-26 1:31 ` Miles Bader 2006-02-24 0:34 ` Juri Linkov 3 siblings, 2 replies; 46+ messages in thread From: Johan Bockgård @ 2006-02-22 15:31 UTC (permalink / raw) "Drew Adams" <drew.adams@oracle.com> writes: > (BTW, everyone should have a key bound in the minibuffer to a > command that erases the minibuffer. I use `M-S-backspace'.) [etc/NEWS] ** New command `kill-whole-line' kills an entire line at once. By default, it is bound to C-S-<backspace>. -- Johan Bockgård ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-22 15:31 ` Johan Bockgård @ 2006-02-24 15:48 ` Drew Adams 2006-02-26 1:31 ` Miles Bader 1 sibling, 0 replies; 46+ messages in thread From: Drew Adams @ 2006-02-24 15:48 UTC (permalink / raw) > (BTW, everyone should have a key bound in the minibuffer to a > command that erases the minibuffer. I use `M-S-backspace'.) ** New command `kill-whole-line' kills an entire line at once. By default, it is bound to C-S-<backspace>. Sure, that's fine. There are also other commands (some bound by default) that, just like `kill-whole-line' clear out all or most of the minibuffer in most contexts. Whatever works and is handy... BTW, the minibuffer content is rarely more than one line, but it can be. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-22 15:31 ` Johan Bockgård 2006-02-24 15:48 ` Drew Adams @ 2006-02-26 1:31 ` Miles Bader 2006-02-26 15:35 ` Drew Adams 1 sibling, 1 reply; 46+ messages in thread From: Miles Bader @ 2006-02-26 1:31 UTC (permalink / raw) On 2/23/06, Johan Bockgård <bojohan+news@dd.chalmers.se> wrote: > > (BTW, everyone should have a key bound in the minibuffer to a > > command that erases the minibuffer. I use `M-S-backspace'.) > > [etc/NEWS] > > ** New command `kill-whole-line' kills an entire line at once. By > default, it is bound to C-S-<backspace>. BTW, this is a potentially dangerous binding, as I learned to my dismay: Because there are many common C-M- ... bindings in Emacs and my fingers are very used to hitting C-M- (whereas C-S- bindings are very rare), when I decided to try this new binding, I reflexively hit C-M-bs by mistake ... and C-M-bs is a special key-sequence that _kills the X server_! Ouch!! I suspect more than a few people will do the same thing... -Miles -- Do not taunt Happy Fun Ball. ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-26 1:31 ` Miles Bader @ 2006-02-26 15:35 ` Drew Adams 2006-02-26 23:42 ` Miles Bader 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-26 15:35 UTC (permalink / raw) On 2/23/06, Johan Bockgård <bojohan+news@dd.chalmers.se> wrote: > > (BTW, everyone should have a key bound in the minibuffer to a > > command that erases the minibuffer. I use `M-S-backspace'.) > > [etc/NEWS] > > ** New command `kill-whole-line' kills an entire line at once. By > default, it is bound to C-S-<backspace>. BTW, this is a potentially dangerous binding, as I learned to my dismay: Because there are many common C-M- ... bindings in Emacs and my fingers are very used to hitting C-M- (whereas C-S- bindings are very rare), when I decided to try this new binding, I reflexively hit C-M-bs by mistake ... and C-M-bs is a special key-sequence that _kills the X server_! Ouch!! I suspect more than a few people will do the same thing... Sounds like maybe `C-M-bs' is the dangerous binding. Why would such a command be bound to a key at all? Or are you perhaps referring not to an Emacs key binding but to something that Emacs never sees, as in Control + Alt + Delete on Windows? BTW, how do you type `C-M-bs'? Is `bs' here <backspace>? When I try Control + Meta + the Backspace key in emacs -q on Windows, at least, it says "undefined". FWIW, in my own customization, I have `C-M-DEL' (Backspace) bound globally (all modes) to `backward-kill-sexp'. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-26 15:35 ` Drew Adams @ 2006-02-26 23:42 ` Miles Bader 2006-02-27 1:17 ` Drew Adams 2006-02-28 0:09 ` Thien-Thi Nguyen 0 siblings, 2 replies; 46+ messages in thread From: Miles Bader @ 2006-02-26 23:42 UTC (permalink / raw) Cc: emacs-devel On 2/27/06, Drew Adams <drew.adams@oracle.com> wrote: > Because there are many common C-M- ... bindings in Emacs and my > fingers are very used to hitting C-M- (whereas C-S- bindings are very > rare), when I decided to try this new binding, I reflexively hit > C-M-bs by mistake ... and C-M-bs is a special key-sequence that _kills > the X server_! Ouch!! > > Sounds like maybe `C-M-bs' is the dangerous binding. Why would such a > command be bound to a key at all? Or are you perhaps referring not to an > Emacs key binding but to something that Emacs never sees, as in Control + > Alt + Delete on Windows? Yes, it is "bound" by the X-server. I agree that it is an unfortunate binding (though I've found it very useful on a few odd occasions), but it's been like that since approximately the beginning of time, so basically isn't going to change anytime soon. > BTW, how do you type `C-M-bs'? Is `bs' here <backspace>? When I try Control > + Meta + the Backspace key in emacs -q on Windows, at least, it says > "undefined". I hit the "control", the "meta" (actually labelled alt, but mapped to meta by the X-server), and the "backspace" (by "bs" I meant "<backspace>") keys simultaneously. [On my keyboard, the physical key is actually labelled "Delete", and generates an ascii DEL character, but apparently in some contexts (with modifier key?) it is interpreted to mean backspace.] > FWIW, in my own customization, I have `C-M-DEL' (Backspace) bound globally > (all modes) to `backward-kill-sexp'. Heh; since meta is commonly mapped to "Alt", that one sound potentially awkward as well... C-Alt-Del :-) -Miles -- Do not taunt Happy Fun Ball. ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-26 23:42 ` Miles Bader @ 2006-02-27 1:17 ` Drew Adams 2006-02-28 0:09 ` Thien-Thi Nguyen 1 sibling, 0 replies; 46+ messages in thread From: Drew Adams @ 2006-02-27 1:17 UTC (permalink / raw) I hit the "control", the "meta", and the "backspace" keys simultaneously. [On my keyboard, the physical key is actually labelled "Delete", and generates an ascii DEL character, but apparently in some contexts (with modifier key?) it is interpreted to mean backspace.] > FWIW, in my own customization, I have `C-M-DEL' (Backspace) > bound globally (all modes) to `backward-kill-sexp'. Heh; since meta is commonly mapped to "Alt", that one sound potentially awkward as well... C-Alt-Del :-) So, on X Window (at least your setup of it), Control-Alt-Backspace (or ASCII DEL) kills the X server. And on MS Windows, Control-Alt-Delete (not ASCII DEL) reboots or displays the login screen or Task Manager. It seems that whichever is chosen as an Emacs binding, Backspace or Delete with Control-Alt will present problems for one or the other platform. Too bad they couldn't at least agree on which key to use for interference with Emacs ;-). ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-26 23:42 ` Miles Bader 2006-02-27 1:17 ` Drew Adams @ 2006-02-28 0:09 ` Thien-Thi Nguyen 2006-02-28 1:55 ` Miles Bader 1 sibling, 1 reply; 46+ messages in thread From: Thien-Thi Nguyen @ 2006-02-28 0:09 UTC (permalink / raw) Cc: Drew Adams, emacs-devel "Miles Bader" <miles@gnu.org> writes: > it's been like that since approximately the beginning of time, so > basically isn't going to change anytime soon. this is configurable (at X Windows start time), at least for certain implementations. i use the following in /etc/X11/XF86Config-4, e.g.: Section "ServerFlags" Option "DontZap" "true" EndSection i added this (other non-germaine options elided) specifically to be able to use C-M-<backspace>. thi ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-28 0:09 ` Thien-Thi Nguyen @ 2006-02-28 1:55 ` Miles Bader 2006-03-02 19:44 ` Richard Stallman 0 siblings, 1 reply; 46+ messages in thread From: Miles Bader @ 2006-02-28 1:55 UTC (permalink / raw) Cc: Drew Adams, emacs-devel Thien-Thi Nguyen <ttn@gnu.org> writes: >> it's been like that since approximately the beginning of time, so >> basically isn't going to change anytime soon. > > this is configurable (at X Windows start time), at least for certain > implementations. i use the following in /etc/X11/XF86Config-4, e.g.: It doesn't really matter though -- the default seemes to be for it to be bound, so many users will run into this problem. I'd say Emacs is better off avoiding any C-Modifier-BS/DEL default bindings. -Miles -- I'd rather be consing. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-28 1:55 ` Miles Bader @ 2006-03-02 19:44 ` Richard Stallman 2006-03-03 7:19 ` Miles Bader 2006-03-03 18:30 ` Luc Teirlinck 0 siblings, 2 replies; 46+ messages in thread From: Richard Stallman @ 2006-03-02 19:44 UTC (permalink / raw) Cc: ttn, drew.adams, emacs-devel It doesn't really matter though -- the default seemes to be for it to be bound, so many users will run into this problem. I'd say Emacs is better off avoiding any C-Modifier-BS/DEL default bindings. I tend to agree. Anyone who wants to use those bindings, and is prepared to turn off their other meanings in the system, can surely bind them in Emacs as he wants to. Would you like to get rid of them, in the code and in the Emacs Manual? ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-02 19:44 ` Richard Stallman @ 2006-03-03 7:19 ` Miles Bader 2006-03-03 18:30 ` Luc Teirlinck 1 sibling, 0 replies; 46+ messages in thread From: Miles Bader @ 2006-03-03 7:19 UTC (permalink / raw) Cc: ttn, drew.adams, emacs-devel Richard Stallman <rms@gnu.org> writes: > It doesn't really matter though -- the default seemes to be for it to be > bound, so many users will run into this problem. I'd say Emacs is > better off avoiding any C-Modifier-BS/DEL default bindings. > > I tend to agree. Anyone who wants to use those bindings, > and is prepared to turn off their other meanings in the system, > can surely bind them in Emacs as he wants to. > > Would you like to get rid of them, in the code and in the Emacs Manual? Sure. -miles -- Fast, small, soon; pick any 2. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-02 19:44 ` Richard Stallman 2006-03-03 7:19 ` Miles Bader @ 2006-03-03 18:30 ` Luc Teirlinck 2006-03-04 2:00 ` Miles Bader 2006-03-04 13:38 ` Richard Stallman 1 sibling, 2 replies; 46+ messages in thread From: Luc Teirlinck @ 2006-03-03 18:30 UTC (permalink / raw) Cc: ttn, emacs-devel, drew.adams, miles Richard Stallman wrote: I tend to agree. Anyone who wants to use those bindings, and is prepared to turn off their other meanings in the system, can surely bind them in Emacs as he wants to. Just to make sure that you understand correctly: the binding in question, C-S-BS, has no other meaning that would have to be turned off, in any OS I am aware of. C-M-BS and C-M-DEL do. Sincerely, Luc. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-03 18:30 ` Luc Teirlinck @ 2006-03-04 2:00 ` Miles Bader 2006-03-04 13:38 ` Richard Stallman 1 sibling, 0 replies; 46+ messages in thread From: Miles Bader @ 2006-03-04 2:00 UTC (permalink / raw) Cc: ttn, rms, drew.adams, emacs-devel On 3/4/06, Luc Teirlinck <teirllm@dms.auburn.edu> wrote: > Just to make sure that you understand correctly: the binding in > question, C-S-BS, has no other meaning that would have to be turned > off, in any OS I am aware of. C-M-BS and C-M-DEL do. My point was that it's too easy to mistype it because control-shift bindings are quite rare, and one's fingers naturally err towards using the more common alt/meta modifier key instead -- and the consequences of doing so are disasterous. -Miles -- Do not taunt Happy Fun Ball. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-03 18:30 ` Luc Teirlinck 2006-03-04 2:00 ` Miles Bader @ 2006-03-04 13:38 ` Richard Stallman 2006-03-04 16:00 ` Luc Teirlinck 1 sibling, 1 reply; 46+ messages in thread From: Richard Stallman @ 2006-03-04 13:38 UTC (permalink / raw) Cc: ttn, emacs-devel, drew.adams, miles Just to make sure that you understand correctly: the binding in question, C-S-BS, has no other meaning that would have to be turned off, in any OS I am aware of. C-M-BS and C-M-DEL do. Yes, the latter two are the ones I think we should delete because they risk enticing people to reboot. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-04 13:38 ` Richard Stallman @ 2006-03-04 16:00 ` Luc Teirlinck 2006-03-06 0:48 ` Richard Stallman 0 siblings, 1 reply; 46+ messages in thread From: Luc Teirlinck @ 2006-03-04 16:00 UTC (permalink / raw) Cc: ttn, emacs-devel, drew.adams, miles Richard Stallman wrote: Just to make sure that you understand correctly: the binding in question, C-S-BS, has no other meaning that would have to be turned off, in any OS I am aware of. C-M-BS and C-M-DEL do. Yes, the latter two are the ones I think we should delete because they risk enticing people to reboot. We _already_ deleted those. Miles is suggesting deleting the C-S-BS binding for kill-whole-line because he believes that many users will mistakenly hold down the Meta key rather than the Shift key. >From the NEWS: +++ ** The old bindings C-M-delete and C-M-backspace have been deleted, since there are situations where one or the other will shut down the operating system or your X server. Sincerely, Luc. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-04 16:00 ` Luc Teirlinck @ 2006-03-06 0:48 ` Richard Stallman 2006-03-06 8:06 ` Miles Bader 0 siblings, 1 reply; 46+ messages in thread From: Richard Stallman @ 2006-03-06 0:48 UTC (permalink / raw) Cc: ttn, emacs-devel, drew.adams, miles We _already_ deleted those. My memory is getting old. Please forgive me. Miles is suggesting deleting the C-S-BS binding for kill-whole-line because he believes that many users will mistakenly hold down the Meta key rather than the Shift key. I don't think we need to go that far to avoid the risk someone will make an unusual double mistake. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-06 0:48 ` Richard Stallman @ 2006-03-06 8:06 ` Miles Bader 2006-03-07 8:18 ` Kim F. Storm 0 siblings, 1 reply; 46+ messages in thread From: Miles Bader @ 2006-03-06 8:06 UTC (permalink / raw) Cc: ttn, Luc Teirlinck, drew.adams, emacs-devel On 3/6/06, Richard Stallman <rms@gnu.org> wrote: > Miles is suggesting deleting the C-S-BS > binding for kill-whole-line because he believes that many users will > mistakenly hold down the Meta key rather than the Shift key. > > I don't think we need to go that far to avoid the risk someone will > make an unusual double mistake. Well it's only one mistake (Alt vs. Shift), not two, but I'm suggesting this change because I really did make that mistake, not out of random worry: I noticed the News entry, tried to type C-S-BS to test this new binding, but my fingers ended up hitting Alt instead, and killing my entire session. I don't think this happened because of clumsiness, but rather because Alt is a far, far, more common modifier in conjunction with Control than Shift is, and muscle memory apparently treats chorded modifier keys as a unit... If the consequences of C-Alt-BS weren't so severe, I wouldn't worry about it -- people mistype all the time -- but they _are_ fairly severe, so it seems worthy of extra caution. -Miles -- Do not taunt Happy Fun Ball. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-03-06 8:06 ` Miles Bader @ 2006-03-07 8:18 ` Kim F. Storm 0 siblings, 0 replies; 46+ messages in thread From: Kim F. Storm @ 2006-03-07 8:18 UTC (permalink / raw) Cc: ttn, Luc Teirlinck, rms, drew.adams, emacs-devel "Miles Bader" <miles@gnu.org> writes: > If the consequences of C-Alt-BS weren't so severe, I wouldn't worry > about it -- people mistype all the time -- but they _are_ fairly > severe, so it seems worthy of extra caution. I agree. I don't dare use that binding myself for the very same reason. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-20 23:10 ` Drew Adams ` (2 preceding siblings ...) 2006-02-22 15:31 ` Johan Bockgård @ 2006-02-24 0:34 ` Juri Linkov 2006-02-24 16:44 ` Drew Adams 3 siblings, 1 reply; 46+ messages in thread From: Juri Linkov @ 2006-02-24 0:34 UTC (permalink / raw) Cc: emacs-devel > `M-x foobar M-- M-. M-. M-. C-b C-f C-u 1 M-.' will yank three words to > the left of point and one word to the right of it. Repeating `M-.' many times to find the necessary thing to yank doesn't seem very convenient. What do you think about using `M-.' as a prefix key? E.g. `M-. s' - yank symbol at point to the minibuffer `M-. u' - yank URL at point `M-. w' - yank word at point `M-. c' - yank character at point -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-24 0:34 ` Juri Linkov @ 2006-02-24 16:44 ` Drew Adams 2006-02-25 8:06 ` Mathias Dahl 0 siblings, 1 reply; 46+ messages in thread From: Drew Adams @ 2006-02-24 16:44 UTC (permalink / raw) > `M-x foobar M-- M-. M-. M-. C-b C-f C-u 1 M-.' will yank > three words to the left of point and one word to the right of it. Repeating `M-.' many times to find the necessary thing to yank doesn't seem very convenient. What do you think about using `M-.' as a prefix key? `M-. s' - yank symbol at point to the minibuffer `M-. u' - yank URL at point `M-. w' - yank word at point `M-. c' - yank character at point 1. I think you missed the point of that example. It was in the cumulative mode where `M-.' grabs and yanks successive words, not the mode where `M-.' cycles among various kinds of thing. Making `M-.' a prefix key would make matters worse, not better. The above example would then become: `M-x foobar M-- M-. w M-. w M-. w C-b C-f C-u 1 M-.' - note the added `w's. Without a prefix binding, you can simply press and hold `M-.' until you've accumulated as much text (e.g. as many words) as you want. In my implementation, this single-grabber-function (words), append/accumulate behavior is the default. (You proposed this cumulative behavior, and I agree that it is very useful.) 2. Ignoring the cumulative example, and replying to your point (which speaks to the non-cumulative mode, where `M-.' cycles among various kinds of thing): This kind of decision (prefix key or not) really rests on determining the most common use pattern(s). As I said, in my case I use only a single `M-.' (yank symbol) 90% of the time, so I have never experienced the inconvenience you cite. Symbol syntax also picks up file names and URLs. (The separate URL-grabbing function goes to the trouble of prefixing "http://" if it's missing.) In your proposal, I would need to use two keystrokes (`M-. <whatever>') instead of one (`M-.') 90% of the time, which is less, not more, convenient. And, just as in the cumulative mode, a prefix key works against ease of repetition. If the binding is simply `M-.' (my proposal), then, in the case where `M-.' cycles among alternative grab+yank functions, you can just hold down Meta and repeatedly hit `.' to cycle among the alternatives. With a prefix key (your proposal), you must remember, find, and hit a separate key (s, u, w, or c). With an alternatives list of length 3, the worst case for my approach is hitting `.' 3 times. That's still quicker, for me, than coming up with the correct two-key sequence `M-. <whatever>'. Even if the list were length 20, I would probably still find repetition of the same key `.' 20 times to be more convenient than remembering 20 different bindings. But different people have different ideas of convenience. To make an analogy, imagine that, instead of having `C-s M-p' cycle among search-ring elements, you had a separate binding for each element, and `M-p' was just a prefix key to indicate that you wanted to use the search-ring. You would use one of `C-s M-p 1', `C-s M-p 2', and so on, instead of simply repeating `M-p': `C-s M-p M-p M-p'. Would you find that more convenient? (Granted, the analogy is not entirely fair, because 1, 2, ... are not mnemonic as are s, u, w, c, or, rather, even if 3 clearly stands for the third history element, it's unlikely that you would know that you wanted the third element, without seeing what it is.) Anyway, as I say, it's the various use cases, and especially the most common use case, that should guide us here. Try the implementation I pointed to, and see what you think. You can easily change the bindings to those that you proposed (prefix key) and compare. Try a few different scenarios and let us know what you find. Meta-anyway: It sounds like you and I, Juri, think similarly about this general idea, but no one else has spoken up about it. Perhaps that's because people are concentrating on putting out the release (that would be good). Or perhaps it's because everyone agrees with the idea (also good). Or perhaps we (like the answer, my friend) are blowin' in the wind. ^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: key to yank text at point into minibuffer? 2006-02-24 16:44 ` Drew Adams @ 2006-02-25 8:06 ` Mathias Dahl 2006-02-25 16:36 ` Drew Adams 0 siblings, 1 reply; 46+ messages in thread From: Mathias Dahl @ 2006-02-25 8:06 UTC (permalink / raw) Cc: emacs-devel > Meta-anyway: It sounds like you and I, Juri, think similarly about this > general idea, but no one else has spoken up about it. Perhaps that's because > people are concentrating on putting out the release (that would be good). Or > perhaps it's because everyone agrees with the idea (also good). Or perhaps > we (like the answer, my friend) are blowin' in the wind. I am following this discussion with some interest because I like ideas like this in general, but I think that as long as I don't see an every day use case for this myself I won't involve myself in it. ^ permalink raw reply [flat|nested] 46+ messages in thread
* RE: key to yank text at point into minibuffer? 2006-02-25 8:06 ` Mathias Dahl @ 2006-02-25 16:36 ` Drew Adams 0 siblings, 0 replies; 46+ messages in thread From: Drew Adams @ 2006-02-25 16:36 UTC (permalink / raw) > Meta-anyway: It sounds like you and I, Juri, think similarly > about this general idea, but no one else has spoken up about it. > Perhaps that's because people are concentrating on putting out > the release (that would be good). Or perhaps it's because > everyone agrees with the idea (also good). Or perhaps > we (like the answer, my friend) are blowin' in the wind. I am following this discussion with some interest because I like ideas like this in general, but I think that as long as I don't see an every day use case for this myself I won't involve myself in it. Fair enough, Mathias. Thanks for weighing in. IIRC, you've also mentioned in the past that you don't have much need for the functionality of ffap.el, because you don't often have a buffer with names of files that you might like to visit. If that's the case, it might also explain why this proposal wouldn't sound too useful to you. ^ permalink raw reply [flat|nested] 46+ messages in thread
end of thread, other threads:[~2006-03-07 8:18 UTC | newest] Thread overview: 46+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-02-11 17:17 key to yank text at point into minibuffer? Drew Adams 2006-02-12 14:51 ` Mathias Dahl 2006-02-12 17:22 ` Drew Adams 2006-02-12 21:07 ` Mathias Dahl 2006-02-12 21:24 ` Drew Adams 2006-02-13 18:00 ` Kevin Rodgers 2006-02-13 18:22 ` Drew Adams 2006-02-13 21:39 ` Kevin Rodgers 2006-02-13 21:50 ` Drew Adams 2006-02-14 15:53 ` Kevin Rodgers 2006-02-14 21:24 ` Drew Adams 2006-02-16 17:16 ` Kevin Rodgers 2006-02-19 17:27 ` Juri Linkov 2006-02-14 1:45 ` Juri Linkov 2006-02-14 16:55 ` Drew Adams 2006-02-17 21:57 ` Juri Linkov 2006-02-18 2:55 ` Drew Adams 2006-02-19 17:28 ` Juri Linkov 2006-02-19 19:53 ` Drew Adams 2006-02-20 9:03 ` Drew Adams 2006-02-20 19:34 ` Juri Linkov 2006-02-20 23:10 ` Drew Adams 2006-02-21 13:43 ` Mathias Dahl 2006-02-21 13:46 ` Mathias Dahl 2006-02-22 6:10 ` Miles Bader 2006-02-22 15:31 ` Johan Bockgård 2006-02-24 15:48 ` Drew Adams 2006-02-26 1:31 ` Miles Bader 2006-02-26 15:35 ` Drew Adams 2006-02-26 23:42 ` Miles Bader 2006-02-27 1:17 ` Drew Adams 2006-02-28 0:09 ` Thien-Thi Nguyen 2006-02-28 1:55 ` Miles Bader 2006-03-02 19:44 ` Richard Stallman 2006-03-03 7:19 ` Miles Bader 2006-03-03 18:30 ` Luc Teirlinck 2006-03-04 2:00 ` Miles Bader 2006-03-04 13:38 ` Richard Stallman 2006-03-04 16:00 ` Luc Teirlinck 2006-03-06 0:48 ` Richard Stallman 2006-03-06 8:06 ` Miles Bader 2006-03-07 8:18 ` Kim F. Storm 2006-02-24 0:34 ` Juri Linkov 2006-02-24 16:44 ` Drew Adams 2006-02-25 8:06 ` Mathias Dahl 2006-02-25 16:36 ` Drew Adams
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).