all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Why does the minibuffer get updated
@ 2009-01-15 16:43 Decebal
  2009-01-16  3:36 ` Barry Margolin
  2009-01-16 14:42 ` Decebal
  0 siblings, 2 replies; 4+ messages in thread
From: Decebal @ 2009-01-15 16:43 UTC (permalink / raw
  To: help-gnu-emacs

I like to have a wordcount displayed. I tried it with the following:
    (defun buffer-count-words()
      (interactive)
      (let ((occurences
             (how-many "\\w+" (point-min) (point-max))
             )
            )
        (string-match "[0-9]*" occurences)
        (match-string 0 occurences)
        )
      )

    (defvar buffer-count-words
      nil
      "*Number of words in the buffer."
      )

    (defun buffer-update-word-count()
      (interactive)
      (setq buffer-count-words (buffer-count-words))
      (force-mode-line-update)
      )

    (unless buffer-count-words
      (run-with-idle-timer 1 t 'buffer-update-word-count)
      )

    (unless (memq 'buffer-count-words global-mode-string)
      (add-to-list 'global-mode-string " words: " t)
      (add-to-list 'global-mode-string 'buffer-count-words t)
      )

This does display the word count, but also keeps putting in the
minibuffer '<NUMBER> occurences'.
What am I doing wrong?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Why does the minibuffer get updated
  2009-01-15 16:43 Why does the minibuffer get updated Decebal
@ 2009-01-16  3:36 ` Barry Margolin
  2009-01-16 11:21   ` Decebal
  2009-01-16 14:42 ` Decebal
  1 sibling, 1 reply; 4+ messages in thread
From: Barry Margolin @ 2009-01-16  3:36 UTC (permalink / raw
  To: help-gnu-emacs

In article 
<726d8899-cdb6-45a8-a30d-8ce27270c7ba@f40g2000pri.googlegroups.com>,
 Decebal <CLDWesterhof@gmail.com> wrote:

> I like to have a wordcount displayed. I tried it with the following:
>     (defun buffer-count-words()
>       (interactive)
>       (let ((occurences
>              (how-many "\\w+" (point-min) (point-max))
>              )
>             )
>         (string-match "[0-9]*" occurences)
>         (match-string 0 occurences)
>         )
>       )
> 
>     (defvar buffer-count-words
>       nil
>       "*Number of words in the buffer."
>       )
> 
>     (defun buffer-update-word-count()
>       (interactive)
>       (setq buffer-count-words (buffer-count-words))
>       (force-mode-line-update)
>       )
> 
>     (unless buffer-count-words
>       (run-with-idle-timer 1 t 'buffer-update-word-count)
>       )
> 
>     (unless (memq 'buffer-count-words global-mode-string)
>       (add-to-list 'global-mode-string " words: " t)
>       (add-to-list 'global-mode-string 'buffer-count-words t)
>       )
> 
> This does display the word count, but also keeps putting in the
> minibuffer '<NUMBER> occurences'.
> What am I doing wrong?

It's presumably coming from the how-many function, although my 
documentation says that it only displays the number if the fourth 
argument "interactive" is t.  What version of Emacs are you running?

-- 
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
*** PLEASE don't copy me on replies, I'll read them in the group ***


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Why does the minibuffer get updated
  2009-01-16  3:36 ` Barry Margolin
@ 2009-01-16 11:21   ` Decebal
  0 siblings, 0 replies; 4+ messages in thread
From: Decebal @ 2009-01-16 11:21 UTC (permalink / raw
  To: help-gnu-emacs

On Jan 16, 4:36 am, Barry Margolin <bar...@alum.mit.edu> wrote:
> In article
> <726d8899-cdb6-45a8-a30d-8ce27270c...@f40g2000pri.googlegroups.com>,
>
>
>
>  Decebal <CLDWester...@gmail.com> wrote:
> > I like to have a wordcount displayed. I tried it with the following:
> >     (defun buffer-count-words()
> >       (interactive)
> >       (let ((occurences
> >              (how-many "\\w+" (point-min) (point-max))
> >              )
> >             )
> >         (string-match "[0-9]*" occurences)
> >         (match-string 0 occurences)
> >         )
> >       )
>
> >     (defvar buffer-count-words
> >       nil
> >       "*Number of words in the buffer."
> >       )
>
> >     (defun buffer-update-word-count()
> >       (interactive)
> >       (setq buffer-count-words (buffer-count-words))
> >       (force-mode-line-update)
> >       )
>
> >     (unless buffer-count-words
> >       (run-with-idle-timer 1 t 'buffer-update-word-count)
> >       )
>
> >     (unless (memq 'buffer-count-words global-mode-string)
> >       (add-to-list 'global-mode-string " words: " t)
> >       (add-to-list 'global-mode-string 'buffer-count-words t)
> >       )
>
> > This does display the word count, but also keeps putting in the
> > minibuffer '<NUMBER> occurences'.
> > What am I doing wrong?
>
> It's presumably coming from the how-many function, although my
> documentation says that it only displays the number if the fourth
> argument "interactive" is t.  What version of Emacs are you running?

At the moment I am working with:
    GNU Emacs 21.3.1 (i586-suse-linux-gnu, X toolkit, Xaw3d scroll
bars) of 2008-05-16 on hammer3

And it is also in this one going wrong.

I tried to add nil:
         (how-many "\\w+" (point-min) (point-max) nil)

Nothing is displayed in the echo area (it is not the minibuffer I
learned), but there is also nothing displayed after 'words: ' in the
status bar. So that is not a solution.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Why does the minibuffer get updated
  2009-01-15 16:43 Why does the minibuffer get updated Decebal
  2009-01-16  3:36 ` Barry Margolin
@ 2009-01-16 14:42 ` Decebal
  1 sibling, 0 replies; 4+ messages in thread
From: Decebal @ 2009-01-16 14:42 UTC (permalink / raw
  To: help-gnu-emacs

On 15 jan, 17:43, Decebal <CLDWester...@gmail.com> wrote:
> I like to have a wordcount displayed. I tried it with the following:
>     (defun buffer-count-words()
>       (interactive)
>       (let ((occurences
>              (how-many "\\w+" (point-min) (point-max))
>              )
>             )
>         (string-match "[0-9]*" occurences)
>         (match-string 0 occurences)
>         )
>       )
>
>     (defvar buffer-count-words
>       nil
>       "*Number of words in the buffer."
>       )
>
>     (defun buffer-update-word-count()
>       (interactive)
>       (setq buffer-count-words (buffer-count-words))
>       (force-mode-line-update)
>       )
>
>     (unless buffer-count-words
>       (run-with-idle-timer 1 t 'buffer-update-word-count)
>       )
>
>     (unless (memq 'buffer-count-words global-mode-string)
>       (add-to-list 'global-mode-string " words: " t)
>       (add-to-list 'global-mode-string 'buffer-count-words t)
>       )
>
> This does display the word count, but also keeps putting in the
> minibuffer '<NUMBER> occurences'.
> What am I doing wrong?

It is partly a version problem. With 'GNU Emacs 22.3.1 (i586-suse-
linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2008-12-03 on build19' it works with a few modifications.
With:
    (defun buffer-count-words()
      (interactive)
      (how-many "\\w+" (point-min) (point-max))
      )
and
    (defun buffer-update-word-count()
      (interactive)
      (setq buffer-count-words
	    (number-to-string (buffer-count-words))
	    )
      (force-mode-line-update)
      )
it works.

The systems I can update, I am going to update. For the system I can
not update I have to copy how-many out of replace.el.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-01-16 14:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-15 16:43 Why does the minibuffer get updated Decebal
2009-01-16  3:36 ` Barry Margolin
2009-01-16 11:21   ` Decebal
2009-01-16 14:42 ` Decebal

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.