Re: [O] bug with org-mode-hook and text-scale-set
Bastien writes: >> Another question: is it customary for major modes to invoke >> buffer-face-mode? > > Emacs devs said using buffer-face-mode is "obnoxious". So I > buffer-face-mode is not turned on by default anymore. org-default is > still the face for buffer-face-mode, though. Thanks, Bastien! Best, Matt
Re: [O] bug with org-mode-hook and text-scale-set
Hi Matt, Matt Lundin writes: > Matt Lundin writes: > >> Bastien writes: >> >>> Du Yanning writes: >>> text-mode-hook and c-mode-hook do NOT have this bug. and the org-mode-hook of orgmode shipped within emacs 23.3 does NOT have this bug. >>> >>> This is now fixed, thanks. >>> >>> The problem was that Org relied on `face-remapping-alist' to >>> remap the 'default face to the 'org-default face. Relying on >>> this mechanism produces the error you reported, because the >>> text-scale-set doesn't interact well with remapped faces. >>> >>> I'm now relying on `buffer-face-mode' which seems to be a >>> cleaner approach. >> >> On my machine, this change causes a noticeable lag when typing in >> org-mode buffers. The cursor hesitates for a bit and then lurches >> forward. If I turn off buffer-face-mode the lag disappears. I'm still >> figuring out how to diagnose the problem. > > Another question: is it customary for major modes to invoke > buffer-face-mode? Emacs devs said using buffer-face-mode is "obnoxious". So I buffer-face-mode is not turned on by default anymore. org-default is still the face for buffer-face-mode, though. -- Bastien
Re: [O] bug with org-mode-hook and text-scale-set
Hi Matt, Matt Lundin writes: > Another question: is it customary for major modes to invoke > buffer-face-mode? I was a bit confused when I first saw "BufFace" in the > mode-line, as I had not explicitly invoked the minor mode. My > understanding was that this was primarily intended as a minor mode for > user-level modifications, not for major modes to rely on (but I may very > well be mistaken). I don't know, I've asked the emacs-devel@ mailing list. -- Bastien
Re: [O] bug with org-mode-hook and text-scale-set
Matt Lundin writes: > On my machine, this change causes a noticeable lag when typing in > org-mode buffers. The cursor hesitates for a bit and then lurches > forward. If I turn off buffer-face-mode the lag disappears. I'm still > figuring out how to diagnose the problem. Let us know about this. If this change triggers such problems for several users, maybe we should just make `buffer-face-mode' optional. -- Bastien
Re: [O] bug with org-mode-hook and text-scale-set
Matt Lundin writes: > Bastien writes: > >> Du Yanning writes: >> >>> text-mode-hook and c-mode-hook do NOT have this bug. >>> and the org-mode-hook of orgmode shipped within emacs 23.3 does NOT >>> have this bug. >> >> This is now fixed, thanks. >> >> The problem was that Org relied on `face-remapping-alist' to >> remap the 'default face to the 'org-default face. Relying on >> this mechanism produces the error you reported, because the >> text-scale-set doesn't interact well with remapped faces. >> >> I'm now relying on `buffer-face-mode' which seems to be a >> cleaner approach. > > On my machine, this change causes a noticeable lag when typing in > org-mode buffers. The cursor hesitates for a bit and then lurches > forward. If I turn off buffer-face-mode the lag disappears. I'm still > figuring out how to diagnose the problem. Another question: is it customary for major modes to invoke buffer-face-mode? I was a bit confused when I first saw "BufFace" in the mode-line, as I had not explicitly invoked the minor mode. My understanding was that this was primarily intended as a minor mode for user-level modifications, not for major modes to rely on (but I may very well be mistaken). Best, Matt
Re: [O] bug with org-mode-hook and text-scale-set
Bastien writes: > Du Yanning writes: > >> text-mode-hook and c-mode-hook do NOT have this bug. >> and the org-mode-hook of orgmode shipped within emacs 23.3 does NOT >> have this bug. > > This is now fixed, thanks. > > The problem was that Org relied on `face-remapping-alist' to > remap the 'default face to the 'org-default face. Relying on > this mechanism produces the error you reported, because the > text-scale-set doesn't interact well with remapped faces. > > I'm now relying on `buffer-face-mode' which seems to be a > cleaner approach. On my machine, this change causes a noticeable lag when typing in org-mode buffers. The cursor hesitates for a bit and then lurches forward. If I turn off buffer-face-mode the lag disappears. I'm still figuring out how to diagnose the problem. Best, Matt
Re: [O] bug with org-mode-hook and text-scale-set
Hi Du, Du Yanning writes: > text-mode-hook and c-mode-hook do NOT have this bug. > and the org-mode-hook of orgmode shipped within emacs 23.3 does NOT > have this bug. This is now fixed, thanks. The problem was that Org relied on `face-remapping-alist' to remap the 'default face to the 'org-default face. Relying on this mechanism produces the error you reported, because the text-scale-set doesn't interact well with remapped faces. I'm now relying on `buffer-face-mode' which seems to be a cleaner approach. Best, -- Bastien
Re: [O] bug with org-mode-hook and text-scale-set
text-mode-hook and c-mode-hook do NOT have this bug. and the org-mode-hook of orgmode shipped within emacs 23.3 does NOT have this bug. On Wed, Mar 14, 2012 at 1:41 PM, David Maus wrote: > Hi, > > At Tue, 13 Mar 2012 14:49:41 +0800, > Du Yanning wrote: > > org-mode 7.8.03 > > emacs 23.3, 23.4, 24.0.94 > > > > steps to recreate: > > > > emacs -q > > > > copy the following code and paste it into the *scratch* buffer: > > (add-to-list 'auto-mode-alist '("\\.txt\\'" . org-mode)) > > (add-hook 'org-mode-hook '(lambda () (text-scale-set 4))) > > > > M-x eval-buffer > > > > then C-x C-f to open a .txt file, and then C-x C-f to open another .txt > file. > > Every time a .txt is opened, the font size become larger and larger. > > However, the indicator in the mode line remains +4. > > I can confirm this behaviour but I don't think this is an error. The > description of `text-scale-set' reads: > > C-h f text-scale-set RET > > , > | text-scale-set is an interactive autoloaded Lisp function in > | `face-remap.el'. > | > | (text-scale-set LEVEL) > | > | Set the scale factor of the default face in the current buffer to LEVEL. > | If LEVEL is non-zero, `text-scale-mode' is enabled, otherwise it is > disabled. > | > | LEVEL is a number of steps, with 0 representing the default size. > | Each step scales the height of the default face by the variable > | ^ > | `text-scale-mode-step' (a negative number decreases the height by > | the same amount). > ` > > The first time `org-mode-hook' is run the height of default font is > scaled by 4 levels, i.e. the height of default font is set to a new > value. The second time `org-mode-hook' is run the height is scaled > again, this time based on the new value. And so on. > > If you want to set the face height you might use: > > (set-face-attribute 'default nil :height 100) > > Here `100' means 100% of the font size in pt (afaik). > > Best, > -- David > -- > OpenPGP... 0x99ADB83B5A4478E6 > Jabber dmj...@jabber.org > Email. dm...@ictsoc.de
Re: [O] bug with org-mode-hook and text-scale-set
Hi, At Tue, 13 Mar 2012 14:49:41 +0800, Du Yanning wrote: > org-mode 7.8.03 > emacs 23.3, 23.4, 24.0.94 > > steps to recreate: > > emacs -q > > copy the following code and paste it into the *scratch* buffer: > (add-to-list 'auto-mode-alist '("\\.txt\\'" . org-mode)) > (add-hook 'org-mode-hook '(lambda () (text-scale-set 4))) > > M-x eval-buffer > > then C-x C-f to open a .txt file, and then C-x C-f to open another .txt file. > Every time a .txt is opened, the font size become larger and larger. > However, the indicator in the mode line remains +4. I can confirm this behaviour but I don't think this is an error. The description of `text-scale-set' reads: C-h f text-scale-set RET , | text-scale-set is an interactive autoloaded Lisp function in | `face-remap.el'. | | (text-scale-set LEVEL) | | Set the scale factor of the default face in the current buffer to LEVEL. | If LEVEL is non-zero, `text-scale-mode' is enabled, otherwise it is disabled. | | LEVEL is a number of steps, with 0 representing the default size. | Each step scales the height of the default face by the variable | ^ | `text-scale-mode-step' (a negative number decreases the height by | the same amount). ` The first time `org-mode-hook' is run the height of default font is scaled by 4 levels, i.e. the height of default font is set to a new value. The second time `org-mode-hook' is run the height is scaled again, this time based on the new value. And so on. If you want to set the face height you might use: (set-face-attribute 'default nil :height 100) Here `100' means 100% of the font size in pt (afaik). Best, -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber dmj...@jabber.org Email. dm...@ictsoc.de pgpXlI3Ly22v6.pgp Description: OpenPGP Digital Signature
[O] bug with org-mode-hook and text-scale-set
org-mode 7.8.03 emacs 23.3, 23.4, 24.0.94 steps to recreate: emacs -q copy the following code and paste it into the *scratch* buffer: (add-to-list 'auto-mode-alist '("\\.txt\\'" . org-mode)) (add-hook 'org-mode-hook '(lambda () (text-scale-set 4))) M-x eval-buffer then C-x C-f to open a .txt file, and then C-x C-f to open another .txt file. Every time a .txt is opened, the font size become larger and larger. However, the indicator in the mode line remains +4.