emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: suggestion: function: buffer-bytes


From: T. V. Raman
Subject: Re: suggestion: function: buffer-bytes
Date: Sun, 1 Jul 2007 10:47:08 -0700

So someone on the g-client group originally proposed computing
the length of buffer-string using string-encoding; I proposed
using position-bytes as a simpler alternative.



>>>>> "Kenichi" == Kenichi Handa <address@hidden> writes:
    Kenichi> In article
    Kenichi> <address@hidden>,
    Kenichi> "T. V. Raman" <address@hidden> writes:
    >> Package g-client
    >> http://emacspeak.googlecode.com/svn/trunk/lisp/g-client
    Kenichi> 
    >> I use curl to talk HTTP in that package -- uses Atom
    >> Publishing Protocol to talk to servers -- and I needed the
    >> byte count for computing HTTP headers correctly.  It does
    >> appear to work, but also because I do set buffer-encoding
    >> appropriately in those buffers where I am building up the
    >> HTTP message being posted.  buffer-size definitely bombs
    >> in that use case -- do you have a better suggestion for
    >> how one might count bytes?
    Kenichi> 
    Kenichi> Then perhaps what you need is this.
    Kenichi> 
    Kenichi> (defun buffer-encoded-size (&optional buffer coding)
    Kenichi> "Return the encoded size of the current byffer in
    Kenichi> bytes.  ..."  (save-excursion (and buffer
    Kenichi> (set-buffer buffer)) (or coding (setq coding
    Kenichi> buffer-file-coding-system)) (length
    Kenichi> (encode-coding-string (buffer-string) coding))))
    Kenichi> 
    Kenichi> In emacs-unicode-2, you can use a little bit faster
    Kenichi> version.
    Kenichi> 
    Kenichi> (defun buffer-encoded-size (&optional buffer coding)
    Kenichi> "Return the encoded size of the current byffer in
    Kenichi> bytes.  ..."  (save-excursion (and buffer
    Kenichi> (set-buffer buffer)) (or coding (setq coding
    Kenichi> buffer-file-coding-system)) (length
    Kenichi> (encode-coding-region (point-min) (point-max) coding
    Kenichi> t))))
    Kenichi> 
    Kenichi> --- Kenichi Handa address@hidden
    Kenichi> 
    Kenichi> 
    Kenichi> _______________________________________________
    Kenichi> Emacs-devel mailing list address@hidden
    Kenichi> http://lists.gnu.org/mailman/listinfo/emacs-devel

-- 
Best Regards,
--raman

      
Email:  address@hidden
WWW:    http://emacspeak.sf.net/raman/
AIM:    emacspeak       GTalk: address@hidden
PGP:    http://emacspeak.sf.net/raman/raman-almaden.asc
Google: tv+raman 
IRC:    irc://irc.freenode.net/#emacs




reply via email to

[Prev in Thread] Current Thread [Next in Thread]