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.... dmjena@jabber.org > Email..... dmaus@ictsoc.de