* Re: buffer-read-only is always t at text-mode-hook time [not found] <mailman.715.1092171969.2011.bug-gnu-emacs@gnu.org> @ 2004-08-11 15:33 ` Kevin Rodgers 0 siblings, 0 replies; 7+ messages in thread From: Kevin Rodgers @ 2004-08-11 15:33 UTC (permalink / raw) Dan Jacobson wrote: > Perhaps this would work: > (add-hook 'text-mode-hook (lambda () > (or buffer-read-only (and(turn-on-auto-fill)(flyspell-mode 1))))) > But buffer-read-only is always true when text-mode-hook is evaluated > apparently. I can't replicate that on GNU Emacs 21.3.1 (i386-pc-solaris2.7, X toolkit). I started emacs with the -q --no-site-file switches and evaluated this in the *scratch* buffer: (add-hook 'text-mode-hook (lambda () (message "buffer-read-only is %s" buffer-read-only))) Then I invoked text mode several different ways (via M-x, via default-major-mode, and via auto-mode-alist on both new and existing files), and each time the echo area said "buffer-read-only is nil". > While a fix is being made, any workarounds? > > You see I don't want to turn on flyspell-mode for files I have no hope > of editing. Your code above ought to work, except that you depend on the result of turn-on-auto-fill, whose return value is not documented. Use progn instead of `and'. > flyspell.el might add an example of how not to turn on flyspell-mode > for files one has no hope of editing. But you figured it out easily enough, no? > P.S. the Info, the first hooks example > (add-hook 'text-mode-hook 'turn-on-auto-fill) > should also show how to not turn it on for files one has no hope of editing. Why? auto-fill is only invoked if they make a change (insert a space at the end of a line), and if that's what the user wants it should work if they M-x toggle-read-only. > While there, tell folks how also to set a hook just in case they need > to override. Don't only mention just add-hook. Bad idea. > BTW, I also don't want to turn on flyspell-mode for files that are > real big. C-h f buffer-size -- Kevin Rodgers ^ permalink raw reply [flat|nested] 7+ messages in thread
* buffer-read-only is always t at text-mode-hook time @ 2004-08-10 3:40 Dan Jacobson [not found] ` <E1Buzoi-00078M-CW@fencepost.gnu.org> 0 siblings, 1 reply; 7+ messages in thread From: Dan Jacobson @ 2004-08-10 3:40 UTC (permalink / raw) Perhaps this would work: (add-hook 'text-mode-hook (lambda () (or buffer-read-only (and(turn-on-auto-fill)(flyspell-mode 1))))) But buffer-read-only is always true when text-mode-hook is evaluated apparently. While a fix is being made, any workarounds? You see I don't want to turn on flyspell-mode for files I have no hope of editing. flyspell.el might add an example of how not to turn on flyspell-mode for files one has no hope of editing. P.S. the Info, the first hooks example (add-hook 'text-mode-hook 'turn-on-auto-fill) should also show how to not turn it on for files one has no hope of editing. While there, tell folks how also to set a hook just in case they need to override. Don't only mention just add-hook. BTW, I also don't want to turn on flyspell-mode for files that are real big. ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <E1Buzoi-00078M-CW@fencepost.gnu.org>]
* Re: buffer-read-only is always t at text-mode-hook time [not found] ` <E1Buzoi-00078M-CW@fencepost.gnu.org> @ 2004-08-13 20:05 ` Dan Jacobson [not found] ` <E1Bw9P8-0000Tg-Br@fencepost.gnu.org> [not found] ` <mailman.1089.1092431153.2011.bug-gnu-emacs@gnu.org> 1 sibling, 1 reply; 7+ messages in thread From: Dan Jacobson @ 2004-08-13 20:05 UTC (permalink / raw) Ok it is not true that "buffer-read-only is always t at text-mode-hook time". Of course my bogus bug report is not my fault, > tell folks how also to set a hook just in case they need to > override. Don't only mention just add-hook. Rogers> Bad idea. Well, with all the setq examples from the 80's gone, we'll just add and add, and produce bogus bug reports. rms> (add-hook 'text-mode-hook 'turn-on-auto-fill) rms> should also show how to not turn it on for files one has no hope of editing. rms> Why bother to check? If you don't edit, it won't do anything. Well, at least do so for flyspell.el where it counts. OK, using (and (not buffer-read-only)(> 88888 (buffer-size))(flyspell-mode 1)) Over and out. ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <E1Bw9P8-0000Tg-Br@fencepost.gnu.org>]
* Re: buffer-read-only is always t at text-mode-hook time [not found] ` <E1Bw9P8-0000Tg-Br@fencepost.gnu.org> @ 2004-08-15 2:50 ` Dan Jacobson [not found] ` <mailman.1298.1092602041.2011.bug-gnu-emacs@gnu.org> 1 sibling, 0 replies; 7+ messages in thread From: Dan Jacobson @ 2004-08-15 2:50 UTC (permalink / raw) rms> Could you elaborate? If you turn on flyspell mode for a read-only rms> buffer, what subsequently happens that you find inconvenient? Some might want to know of spelling problems they can't fix---but never mind that---larger problem: $ cat .emacs (setq default-major-mode 'text-mode);adding this line makes the below useless! (add-hook 'text-mode-hook (lambda () (or buffer-read-only (turn-on-auto-fill)) (and (not buffer-read-only)(> 88888 (buffer-size))(flyspell-mode 1)))) $ emacs -nw --no-site-file /usr/share/emacs/21.3/etc/DOC-21.3.1 And what do you know, despite my best efforts, there I am staring at "(Text Fly Fill)" in the modeline. ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <mailman.1298.1092602041.2011.bug-gnu-emacs@gnu.org>]
* Re: buffer-read-only is always t at text-mode-hook time [not found] ` <mailman.1298.1092602041.2011.bug-gnu-emacs@gnu.org> @ 2004-08-16 16:22 ` Kevin Rodgers 2004-08-18 1:34 ` Richard Stallman 0 siblings, 1 reply; 7+ messages in thread From: Kevin Rodgers @ 2004-08-16 16:22 UTC (permalink / raw) Dan Jacobson wrote: > Some might want to know of spelling problems they can't fix---but > never mind that---larger problem: > > $ cat .emacs > (setq default-major-mode 'text-mode);adding this line makes the below useless! > (add-hook > 'text-mode-hook > (lambda () > (or buffer-read-only (turn-on-auto-fill)) > (and (not buffer-read-only)(> 88888 (buffer-size))(flyspell-mode 1)))) > $ emacs -nw --no-site-file /usr/share/emacs/21.3/etc/DOC-21.3.1 > And what do you know, despite my best efforts, there I am staring at > "(Text Fly Fill)" in the modeline. That is a problem. It arises because default-major-mode is called 1 of 2 ways: either by set-buffer-major-mode (before the file's contents have been inserted) or by normal-mode (but only if called with a nil FIND-FILE argument, which usually doesn't happen since after-find-file specifies it as t). I don't know how that could be fixed without moving the call to set-buffer-major-mode into or after find-file-no-select-1 (which inserts the file contents into the buffer). If that's not feasible, should the interaction between default-major-mode and the mode's hook functions be documented? -- Kevin Rodgers ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: buffer-read-only is always t at text-mode-hook time 2004-08-16 16:22 ` Kevin Rodgers @ 2004-08-18 1:34 ` Richard Stallman 0 siblings, 0 replies; 7+ messages in thread From: Richard Stallman @ 2004-08-18 1:34 UTC (permalink / raw) Cc: gnu-emacs-bug I don't know how that could be fixed without moving the call to set-buffer-major-mode into or after find-file-no-select-1 (which inserts the file contents into the buffer). If that's not feasible, should the interaction between default-major-mode and the mode's hook functions be documented? Moving the call into after-find-file would fix this, but that kind of change could easily introduce various other bugs. I don't know of any specific thing that could fail after this change, but there are many things that need to be checked to verify they won't sometimes fail. Does anyone want to study and check them? ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <mailman.1089.1092431153.2011.bug-gnu-emacs@gnu.org>]
* Re: buffer-read-only is always t at text-mode-hook time [not found] ` <mailman.1089.1092431153.2011.bug-gnu-emacs@gnu.org> @ 2004-08-13 22:13 ` Kevin Rodgers 0 siblings, 0 replies; 7+ messages in thread From: Kevin Rodgers @ 2004-08-13 22:13 UTC (permalink / raw) Dan Jacobson wrote: > Ok it is not true that "buffer-read-only is always t at text-mode-hook time". > > Of course my bogus bug report is not my fault, Why not? > > tell folks how also to set a hook just in case they need to > > override. Don't only mention just add-hook. > > Rogers> Bad idea. Could you do me the small favor of spelling my name correctly? > Well, with all the setq examples from the 80's gone, we'll just add > and add, and produce bogus bug reports. add-hook's doc string clearly states that the HOOK symbol is a variable, from which you can infer that you can modify it with set/setq like any other. The reason users should not be encouraged to do so is obvious: a hook is a list-valued variable that should be modified incrementally to limit the scope of the change to what is intended and not not affect other aspects of the system of which the user may not be aware. How does add-hook/remove-hook contribute to more bogus bug reports than set/setq? > rms> (add-hook 'text-mode-hook 'turn-on-auto-fill) > rms> should also show how to not turn it on for files one has no hope of editing. > rms> Why bother to check? If you don't edit, it won't do anything. > > Well, at least do so for flyspell.el where it counts. I don't agree. If a user expects flyspell to work regardless of whether the buffer is read-only or writeable (i.e. checking the current word after each command), then disabling it automatically is clearly wrong (and doesn't allow him/her to control Emacs' behavior). Leaving it as is at least gives users like you the opportunity to turn it off. > OK, using (and (not buffer-read-only)(> 88888 (buffer-size))(flyspell-mode 1)) > Over and out. Ah, the magic 86.8046875 KB buffer size. :-) -- Kevin Rodgers ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-08-18 1:34 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <mailman.715.1092171969.2011.bug-gnu-emacs@gnu.org> 2004-08-11 15:33 ` buffer-read-only is always t at text-mode-hook time Kevin Rodgers 2004-08-10 3:40 Dan Jacobson [not found] ` <E1Buzoi-00078M-CW@fencepost.gnu.org> 2004-08-13 20:05 ` Dan Jacobson [not found] ` <E1Bw9P8-0000Tg-Br@fencepost.gnu.org> 2004-08-15 2:50 ` Dan Jacobson [not found] ` <mailman.1298.1092602041.2011.bug-gnu-emacs@gnu.org> 2004-08-16 16:22 ` Kevin Rodgers 2004-08-18 1:34 ` Richard Stallman [not found] ` <mailman.1089.1092431153.2011.bug-gnu-emacs@gnu.org> 2004-08-13 22:13 ` Kevin Rodgers
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.