2011-03-27  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Discard standard error of the program
	"convert". On an environment where the option "-flatten" cause a
	warning for a non-animated image, Emacs must exclude such
	warnings.
	(twittering-convert-image-data): discard standard error of the
	program "convert".

	* twittering-mode.el: Entrust image type estimation to the command
	"convert".
	(twittering-create-image-pair): do not send image type estimated by
	Emacs to the function `twittering-convert-image-data'.

2011-03-26  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: `twittering-other-user-list-interactive'
	works well when the specified user follows no list.
	(twittering-other-user-list-interactive): fix an error occurring
	when the specified user follows no list or selection is
	cancelled.

	* twittering-mode.el: `twittering-other-user-list-interactive'
	displays a subscription as a string like timeline spec string.
	(twittering-http-get-list-subscriptions-sentinel): exclude
	preceding "@" from a string corresponding to a subscription.
	(twittering-other-user-list-interactive): follow the above
	modification.

	* twittering-mode.el: Modify the prompts for subscription.
	(twittering-read-subscription-list-name): modify the prompt for
	subscription.
	(twittering-other-user-list-interactive): likewise.

	* twittering-mode.el: Add an advice for avoiding an error occuring
	when `getenv' returns an empty string on Emacs21. The bug had been
	fixed on Emacs22 and later.

	* test/test-twittering-mode.el: Fix a test of formating a status
	according to a change of behavior of `fill-region'. It does not
	keep white spaces and tabs adjacent to hard newlines on Emacs21,
	but it keeps them on Emacs22 and later.

	* twittering-mode.el: Remove opacity on converting an image into
	a XPM image on Emacs22 and earlier.
	(twittering-convert-image-data): add an option "+matte" to the
	command "convert" in order to avoid color allocation error
	occurring when Emacs22 and earlier try to decode a XPM image with
	opacity.

	* twittering-mode.el: Convert an image, which may be animated,
	into a single static image if Emacs does not support animated
	images.
	(twittering-convert-image-data): add an option "-flatten" to the
	command "convert" unless `create-animated-image'.

	* twittering-mode.el: Always convert a GIF image into a XPM image
	if Emacs does not support animated images.
	(twittering-create-image-pair): always convert a GIF image into a
	XPM image if Emacs does not support animated images.

2011-03-26  Naohiro Aota  <naota@elisp.net>

	* twittering-mode.el (twittering-http-get-list-sentinel-base): New
	macro: from `twittering-http-get-list-index-sentinel'.
	(twittering-http-get-list-index-sentinel): Use it.
	(twittering-http-get-list-subscriptions-sentinel): Ditto.
	(twittering-call-api): Add `get-list-subscriptions' description;
	Implement `get-list-subscriptions'.
	(twittering-get-list-subscriptions): New function.
	(twittering-get-list-sync): New function from
	`twittering-get-list-index-sync'.
	(twittering-get-list-index-sync): Rewrite to use it.
	(twittering-get-list-subscriptions-sync): New function. Use it.
	(twittering-read-timeline-spec-with-completion): New function.
	(twittering-other-user-list-interactive): Accept prefix to read
	other users' subscription list.

2011-03-15  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Support cancel of retweets posted by the
	authenticated user.
	(twittering-delete-status): cancel a retweet if it has been
	retweeted by the authenticated user.

	* twittering-mode.el: Explicitly use binary coding system on I/O
	of icon properties. Thanks to Naohiro Aota.
	(twittering-save-icon-properties): explicitly use binary coding
	system on writing icon properties.
	(twittering-load-icon-properties): likewise.

2011-02-19  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Disable the persistent icon storage if
	`jka-compr' is unavailable.
	(twittering-save-icon-properties): confirm that `jka-compr' is
	available.
	(twittering-load-icon-properties): likewise.
	(twittering-initialize-global-variables-if-necessary): disable
	the persistent icon storage if `jka-compr' is unavilable.

	* twittering-mode.el: Add `twittering-add-to-history' for
	Emacs21.
	(twittering-add-to-history): new function.
	(twittering-add-timeline-history): use
	`twittering-add-to-history'.

	* twittering-mode.el: Introduce the limit of number of
	icons being stored persistently.
	(twittering-icon-storage-file): add docstring about
	`twittering-icon-storage-limit'.
	(twittering-icon-storage-recent-icons): new variable to which
	properties of recently rendered icons are stored.
	(twittering-icon-storage-limit): new variable.
	(twittering-update-icon-storage-recent-icons): new function.
	(twittering-get-display-spec-for-icon): invoke
	`twittering-update-icon-storage-recent-icons' whenever this
	function is invoked.
	(twittering-save-icon-properties): write properties of icons
	within the limit specified by `twittering-icon-storage-limit'. In
	addition, this function records properties in the new format.
	(twittering-load-icon-properties): support the new format for
	storing properties of icons.

2011-02-15  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Confirm validity of a format string before
	updating the function formatting a tweet.
	(twittering-update-status-format): update the function only if the
	given format string is valid.

	* twittering-mode.el: Support a new format specifier "%RT{...}".
	(twittering-status-format): update docstring.
	(twittering-generate-formater-for-first-spec): support a new
	format specifier "%RT{...}".

2011-02-13  Tadashi MATSUO  <tad@mymail.twin.jp>

	* test/test-twittering-mode.el (test-hmac-sha1): Fix a typo.

	* twittering-mode.el: Rearrange internal representation of a
	retweet.
	(twittering-add-statuses-to-timeline-data): use `retweeted-id'
	instead of `source-id'.
	(twittering-normalize-raw-status): rearrange internal
	representation of a retweet. The information as a tweet posted by
	the retweeter is stored with keys prefixed with `retweeting-'. The
	information as a tweet posted by the original author is stored
	with keys prefixed with `retweeted-'. Keys prefixed with
	`original-' or `source-' are obsolete.
	(twittering-make-common-properties): use `retweeted-id' instead of
	`source-id'.
	(twittering-get-common-properties): likewise.
	(twittering-generate-format-table): use
	`retweeting-user-screen-name' instead of
	`original-user-screen-name'.
	(twittering-generate-formater-for-first-spec): use `retweeted-id'
	instead of `source-id'.
	(twittering-render-timeline): likewise.
	(twittering-native-retweet): likewise.

	* twittering-mode.el: `created_at' for an official retweet means
	when the original tweet was posted instead of when it was
	retweeted.
	(twittering-normalize-raw-status): do not override
	`created_at'. The key `created_at' in an alist representing a
	retweet means when the original tweet was posted.

	* twittering-mode.el: When `twittering-follow' is invoked on an
	official retweet, ask a subject.
	(twittering-follow): ask a subject when this function is invoked
	on an official retweet.

	* twittering-mode.el: Add a function to report a user as a spammer.
	(twittering-call-api): support a new command
	`block-and-report-as-spammer'.
	(twittering-block-and-report-as-spammer): new function.

	* twittering-mode.el: Add a function to block a user.
	(twittering-call-api): support a new command `block'.
	(twittering-block): new function.

	* twittering-mode.el: Support persistent icon storage.
	(twittering-icon-storage-file): new variable.
	(twittering-use-icon-storage): new variable.
	(twittering-register-image-spec): new function.
	(twittering-register-image-data): reimplemented with
	`twittering-register-image-spec'.
	(twittering-save-icon-properties): new function.
	(twittering-load-icon-properties): new function.

2011-02-05  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Remove a trailing newline from strings
	received from `bit.ly' and `j.mp'. Thanks to mm_o_ig.
	(twittering-tinyurl-services-map): add a post-processing function
	that removes a trailing newline from result of `bit.ly' and
	`j.mp'.

	* twittering-mode.el: Revise some messages. Thanks to Server.
	(twittering-http-get-default-sentinel): revise messages.
	(twittering-show-replied-statuses): likewise.
	(twittering-hide-replied-statuses): likewise.
	(twittering-edit-post-status): likewise.
	(twittering-read-timeline-spec-with-completion): likewise.
	(twittering-other-user-list-interactive): likewise.
	(twittering-direct-message): likewise.
	(twittering-goto-next-status): likewise.
	(twittering-goto-previous-status): likewise.

2011-01-29  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Reimplement `twittering-tinyurl-get' with
	`twittering-send-http-request'.
	(twittering-url-wrapper): removed.
	(twittering-url-insert-file-contents): removed.
	(twittering-url-retrieve-synchronously): removed.
	(twittering-tinyurl-get): reimplemented with
	`twittering-send-http-request'. In addition, the query parameter
	is correcly encoded by `twittering-percent-encode'.

	* twittering-mode.el: Add `is.gd' as a URL shortening service.
	Thanks to Michael Kohl.
	(twittering-tinyurl-service): update the document.
	(twittering-tinyurl-services-map): add an entry for `is.gd'.

	* twittering-mode.el: Extend the format of
	`twittering-tinyurl-services-map'. One can register a service that
	requires a special HTTP request and/or post-processing.
	(twittering-tinyurl-services-map): extend the meaning of the
	variable.
	(twittering-tinyurl-get): support new format of
	`twittering-tinyurl-services-map'.

	* twittering-mode.el: Add `goo.gl' as a URL shortening service.
	(twittering-tinyurl-services-map): add an entry for `goo.gl'.

	* twittering-mode.el: Add `bit.ly' and `j.mp' as URL shortening
	services. Thanks to Lars Gregori.
	(twittering-tinyurl-services-map): add entries for `bit.ly' and
	`j.mp'.
	(twittering-bitly-login): new variable.
	(twittering-bitly-api-key): new variable.
	(twittering-make-http-request-for-bitly): new function.

	* twittering-mode.el: Reimplement normalization of alists from XML
	structure.
	(twittering-atom-xmltree-to-status-datum): change the value
	corresponding to the key `source' into a URL with a tag.
	(twittering-status-to-status-datum): removed.
	(twittering-normalize-raw-status): new function to generate
	normalized alist representing a tweet.
	(twittering-xmltree-to-status): use
	`twittering-normalize-raw-status' instead of
	`twittering-status-to-status-datum'.

	* twittering-mode.el: `twittering-make-clickable-status-datum'
	does not redefine `source'.
	(twittering-atom-xmltree-to-status-datum): define `source' as
	a text surrounded by A-tag.
	(twittering-normalize-raw-status): likewise.
	(twittering-make-clickable-status-datum): do not redefine
	`source'.

	* twittering-mode.el: Add text properties to tweets on rendering.
	(twittering-http-get-default-sentinel): do not call
	`twittering-make-clickable-status-datum'.
	(twittering-make-clickable-status-datum): removed.
	(twittering-make-string-with-user-name-property): new function.
	(twittering-make-string-with-source-property): new function.
	(twittering-make-fontified-tweet-text): new function.
	(twittering-generate-format-table): add text properties.

2011-01-23  Tadashi MATSUO  <tad@mymail.twin.jp>

	* test/test-twittering-mode.el: Add some tests for the format
	specifiers "%FILL[prefix]{...}" and "%FOLD[prefix]{...}".
	* twittering-mode.el (twittering-status-format): add a document
	for the format specifier "%FOLD[prefix]{...}".

	* test/test-twittering-mode.el: Fix an error of
	`url-generic-parse-url' on Emacs21 by calling
	`url-scheme-get-property' before `url-generic-parse-url' is called.

2011-01-21  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Decode received XML document as UTF-8 before
	parsing it.
	(twittering-http-get-default-sentinel): decode received XML
	document as UTF-8 before parsing it if Content-Type in response
	header has a parameter "charset=utf-8".

	* twittering-mode.el: The format specifier "%FOLD[prefix]{...}"
	does not squeeze white spaces.
	(twittering-fill-string): does not squeeze white spaces if
	`keep-newline' is non-nil.

2011-01-16  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Ensure that the pointed tweet is visible on
	editing a tweet.
	(twittering-ensure-whole-of-status-is-visible): new function.

	* twittering-mode.el: Isolate addition of text properties from a
	function parsing XML.
	(twittering-http-get-default-sentinel): call
	`twittering-make-clickable-status-datum' here.
	(twittering-atom-xmltree-to-status): do not add text properties to
	statuses.
	(twittering-status-to-status-datum): likewise.

	* twittering-mode.el: Render statuses in order of field property
	instead of id property.
	(twittering-make-common-properties): add field property as a
	common property.
	(twittering-get-common-properties): likewise.
	(twittering-field-id<): new function.
	(twittering-field-id=): new function.
	(twittering-make-field-id): new function.
	(twittering-make-field-properties): new function.
	(twittering-render-timeline): render statuses in order of their
	field properties.
	(twittering-show-replied-statuses): add special field property to
	replied statuses.

	* twittering-mode.el: Move point by using field property instead
	of id property.
	(twittering-get-current-status-head): redefined with field
	property instead of id property.
	(twittering-get-first-status-head): likewise.
	(twittering-get-next-status-head): likewise.
	(twittering-get-previous-status-head): likewise.

	* twittering-mode.el: Use rendered-as property for rendering
	replied statuses instead of a trick with id and original-id
	properties.
	(twittering-get-common-properties): add rendered-as property as a
	common property.
	(twittering-make-field-properties): add rendered-as property if
	necessary.
	(twittering-make-field-properties-of-popped-ancestors): new
	function.
	(twittering-rendered-as-ancestor-status-p): new function.
	(twittering-get-base-id-of-ancestor-at): new function.
	(twittering-replied-statuses-visible-p): use the new function
	`twittering-get-base-id-of-ancestor-at' instead of directly
	referring id and original-id properties.
	(twittering-hide-replied-statuses): likewise.
	(twittering-show-replied-statuses): use
	`twittering-make-field-properties-of-popped-ancestors'.

	* twittering-mode.el: Remove a trick using id and original-id
	properties for rendering replied statuses.
	(twittering-get-common-properties): remove original-id from common
	properties.
	(twittering-show-replied-statuses): do not overwrite id and
	original-id properties.
	(twittering-enter): do not refer original-id property.

	* twittering-mode.el: Support favorites timeline.
	(twittering-timeline-spec-to-string): support favorites timeline
	spec.
	(twittering-extract-timeline-spec): likewise.
	(twittering-timeline-spec-primary-p): add favorites timeline spec
	is a primary timeline spec.
	(twittering-call-api): support favorites timeline spec.
	(twittering-read-timeline-spec-with-completion): add ":favorites"
	as a candidate of completion. In addition, one can input a
	username with completion for ":favorites/".
	(twittering-goto-next-status): display an error message on the
	oldest tweet on favorites timeline.
	(twittering-goto-previous-status): likewise.
	* test/test-twittering-mode.el: Add tests for favorites timeline
	spec.

2011-01-09  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Ensure that encrypted strings are written
	with no conversion. Thanks to Sakuma.
	(twittering-write-and-encrypt): ensure that encrypted strings are
	written with no conversion.

2010-12-17  Yuto HAYAMIZU  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-organic-retweet): prohibit
	retweeting protected tweets.

2010-11-30  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Ensure that the methods using url library
	works well for HTTP redirection.
	(twittering-send-http-request-urllib): make the variable,
	`url-http-attempt-keepalives', buffer-local in order to send the
	local value to the sentinel invoked for HTTP redirection. If the
	variable is not made buffer-local, the connection with redirection
	may not be closed according to its global value.

	* twittering-mode.el: Introduce an ad-hoc treatment for url
	library on Emacs21 again. This ensures that the sentinel for an
	redirect HTTP request, such as asynchronous retrieval of icon
	images, works well.
	(twittering-send-http-request): introduce an ad-hoc treatment for
	the url library again. It is required because the process for a
	redirected HTTP request is alive when the url library for Emacs21
	invokes the callback.
	(twittering-send-http-request-urllib): add an ad-hoc treatment for
	HTTP redirection on Emacs21.

2010-11-27  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix a bug of retrieving a URI repeatedly.
	(twittering-resolve-url-request): bind `additional-info' to the
	appropriate alist storing the URI that will be retrieved. The
	alist is referred by `twittering-url-retrieve-async-sentinel' and
	`twittering-url-retrieve-async-clean-up-sentinel'. Since the alist
	was null, a URI might be retrieved repeatedly.

2010-11-25  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Delay next asynchronous retrieval until all
	sentinels for the current retrieval finish.
	(twittering-url-retrieve-async-sentinel): call
	`twittering-resolve-url-request' after sentinels finish.
	(twittering-url-retrieve-async-clean-up-sentinel): call
	`twittering-resolve-url-request' only when the current retrieval
	is failed.

	* twittering-mode.el: Periodically invoke actions associated with
	idle-timer even if Emacs remains idle long time.
	(twittering-timer-interval-for-redisplaying): extended to 5.0.
	(twittering-url-retrieve-async-sentinel): use
	`twittering-run-on-idle' instead of `run-with-idle-timer'.
	(twittering-idle-timer-for-redisplay): new variable.
	(twittering-run-on-idle): new function.
	(twittering-run-repeatedly-on-idle): new function.
	(twittering-start): use `twittering-run-repeatedly-on-idle'
	instead of `run-with-idle-timer'.
	(twittering-stop): also cancel the idle timer for redisplaying.

	* twittering-mode.el: Add retrieved timeline spec string to
	history even if it includes no new statuses.
	(twittering-http-get-default-sentinel): add `spec-string' on
	successful retrieval even if there are no new statuses.

	* twittering-mode.el: `twittering-url-retrieve-async' immediately
	invokes the sentinel if the url has been already retrieved.
	(twittering-url-retrieve-async): immediately invoke the sentinel
	if the given url has been already retrieved.

	* twittering-mode.el: Call `url-retrieve' without attempting
	keep-alive.
	(twittering-send-http-request): remove special treatment according
	to `status-str' for the connection method by url library. It was
	necessary because `url-retrieve' invoked its sentinel before the
	process exits.
	(twittering-send-http-request-urllib): call `url-retrieve' with
	binding `url-http-attempt-keepalives' to nil.

	* twittering-mode.el: The property symbol `belongs-to' is renamed
	`source-spec'.
	(twittering-render-timeline): add `source-spec' to each status
	instead of `belongs-to'.
	(twittering-direct-message): use `source-spec' instead of
	`belongs-to'.
	(twittering-enter): likewise.

	* twittering-mode.el: Fix a bug that some text properties of a
	tweet rendered on a buffer may be lost by redisplaying it.
	(twittering-make-common-properties): new function.
	(twittering-get-common-properties): new function.
	(twittering-generate-format-status-function): use
	`twittering-make-common-properties'.
	(twittering-format-status-for-redisplay): use
	`twittering-get-common-properties'.
	(twittering-update-filled-string): likewise.

	* twittering-mode.el: `twittering-redisplay-status-on-each-buffer'
	restores common properties of re-rendered tweets.
	(twittering-format-status-for-redisplay): do not restore
	properties.
	(twittering-update-filled-string): likewise.
	(twittering-redisplay-status-on-each-buffer): restore common
	properties.

	* twittering-mode.el: Add `source-spec' as an entry of alist
	storing a tweet.
	(twittering-add-statuses-to-timeline-data): add the `source-spec'
	property to each new status.
	(twittering-make-common-properties): add `source-spec' as a common
	property.
	(twittering-get-common-properties): update docstring.
	(twittering-render-timeline): do not add the `source-spec'
	property.

	* twittering-mode.el: Correctly define the alias of
	`open-ssl-stream' for Emacs21 even if `url-gw.el' has been already
	loaded and unavailable autoload has been declared.
	(twittering-start-http-session-urllib-https-p): ignore the
	autoload declaration of `open-ssl-stream' in `url-gw.el' if
	"ssl.el" is unavailable.

	* twittering-mode.el: Fix a bug that `twittering-username' is not
	initialized when using encryption of authorized token with OAuth.
	(twittering-http-get-verify-credentials-sentinel): apropriately
	initialize `twittering-username' even if encryption of authorized
	token is used with OAuth.

2010-11-14  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix a bug in registration of a sentinel for
	asynchronous retrieval.
	(twittering-url-retrieve-async): fix registration of sentinels to
	avoid registering a sentinel repeatedly.

	* twittering-mode.el: Contents retrieved by url library are copied
	as unibyte string. Without this modification, binary data may be
	retrieved incorrectly.
	(twittering-send-http-request-urllib): copy contents retrieved by
	url library as unibyte string. Without this modification, binary
	data may be retrieved incorrectly.

	* twittering-mode.el: Sentinels for `twittering-send-http-request'
	are called with a process status symbol instead of a process
	status symbol. This is necessary for faking a status of a process
	generated by url library.
	(twittering-send-http-request): call sentinels with a process
	status symbol instead of a process status string.
	(twittering-http-get-default-sentinel): receives `status' instead
	of `status-str'.
	(twittering-http-get-list-index-sentinel): likewise.
	(twittering-http-post-default-sentinel): likewise.
	(twittering-http-get-verify-credentials-sentinel): likewise.
	(twittering-http-get-verify-credentials-clean-up-sentinel):
	likewise.
	(twittering-oauth-get-token-alist): define sentinels so that they
	receive `status' instead of `status-str'.
	(twittering-get-and-render-timeline): likewise.

	* twittering-mode.el: Redisplay tweets with idle timer.
	(twittering-timer-interval-for-redisplaying): change the meaning.
	(twittering-start): `twittering-redisplay-status-on-buffer' is
	called by `run-with-idle-timer'.

	* twittering-mode.el: `twittering-resolve-url-request' uses
	`twittering-send-http-request' instead of `url-retrieve'.
	(twittering-resolve-url-request): use
	`twittering-send-http-request' instead of `url-retrieve'.
	(twittering-url-retrieve-async-sentinel): new function.
	(twittering-url-retrieve-async-clean-up-sentinel): new function.

	* twittering-mode.el: Sentinels for asynchronous retrieval are
	invoked with `run-with-idle-timer'. The delay will prevent Emacs
	from stucking on inputting characters on other buffer.
	(twittering-url-request-sentinel-delay): new variable.
	(twittering-url-retrieve-async-sentinel): invoke sentinels with
	`run-with-idle-timer'.

2010-11-13  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: `twittering-send-http-request' correctly
	transfer `additional-info'.
	(twittering-send-http-request): call
	`twittering-send-http-request-internal' with correct arguments.

	* twittering-mode.el: Remove redundant entries from an argument of
	`twittering-send-http-request'.
	(twittering-http-get): remove redundant entries from
	`additional-info', an argument of `twittering-send-http-request'.
	(twittering-http-post): likewise.

	* twittering-mode.el: Fix docstring of `twittering-call-api'.
	(twittering-call-api): fix docstring.

	* twittering-mode.el: `twittering-call-api' extracts a query
	string from the given timeline spec.
	(twittering-call-api): extract a query string of search timeline
	from the given timeline spec.
	(twittering-get-and-render-timeline): remove a query string
	from the second argument of `twittering-call-api'.

	* twittering-mode.el: `twittering-call-api' can calculate how many
	tweets should be retrieved.
	(twittering-call-api): let the argument `number' of the command
	`retrieve-timeline' be optional.
	(twittering-get-and-render-timeline): remove explicit calculation
	of number of tweets which will be retrieved.

	* twittering-mode.el: Add a new argument `additional-info' to
	`twittering-http-{get,put}'. It can be used to send information to
	generated processes.
	(twittering-http-get): replace the argument `noninteractive' with
	a new argument `additional-info', which will be sent to
	`twittering-send-http-request'.
	(twittering-http-post): add a new argument `additional-info',
	which will be sent to `twittering-send-http-request'.
	(twittering-call-api): send the information of `noninteractive' as
	a member of `additional-info' to `twittering-http-get'.

	* twittering-mode.el: Timeline spec is sent to a sentinel via
	`connection-info' instead of `twittering-process-info-alist'.
	(twittering-http-get-default-sentinel): receive the timeline spec
	from `connection-info' instead of `twittering-process-info-alist'
	via `twittering-get-timeline-spec-from-process'.
	(twittering-get-and-render-timeline): send timeline spec to the
	sentinel via `additional-info', which is an argument of
	`twittering-call-api'.

	* twittering-mode.el: Confirm that `twittering-proxy-use' is nil
	when trying the connection method `native'.
	(twittering-start-http-session-native-tls-p): return nil if
	`twittering-proxy-use' is non-nil.

	* twittering-mode.el: Display the current connection method on the
	mode-line.
	(twittering-display-connection-method): new variable.
	(twittering-lookup-connection-type): add the entry `display-name'
	if necessary.
	(twittering-get-connection-method-name): new function.
	(twittering-mode-line-buffer-identification): display the current
	connection method on the mode-line.

	* twittering-mode.el: The default value of
	`twittering-url-show-status' is changed to nil.
	(twittering-url-show-status): initialized as nil.

	* twittering-mode.el: Postpone configuring the global variables
	`twittering-username' and `twittering-password' until the account
	is authenticated.
	(twittering-prepare-account-info): return a pair of username and
	password instead of setting them as global variables.
	(twittering-verify-credentials): do not set the global variables
	`twittering-username' and `twittering-password' until the account
	is authenticated.
	(twittering-http-get-verify-credentials-sentinel): set the global
	variables `twittering-username' and `twittering-password' if
	necessary.

	* twittering-mode.el: Add new connection method `urllib-http' and
	`urllib-https'.
	(twittering-connection-type-order): add `urllib-http' and
	`urllib-https'.
	(twittering-connection-type-table): add new entries for
	`urllib-http' and `urllib-https'.
	(twittering-send-http-request): add special treatment for the
	connection method using the url library.
	(twittering-start-http-session-urllib-p): new function.
	(twittering-start-http-session-urllib-https-p): new function.
	(twittering-send-http-request-urllib): new function.
	(twittering-pre-process-buffer-urllib): new function.

2010-10-14  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: `twittering-get-error-message' generates an
	error message with explanation if possible.
	(twittering-get-error-message): generate an error message with
	explanation if possible. `twittering-xml-parse-region' is called
	only when it is required. It is determined by the new argument
	`header-info'.
	(twittering-http-get-default-sentinel): use
	`twittering-get-error-message' for generating a total error
	message, not only explanation.
	(twittering-http-get-list-index-sentinel): likewise.
	(twittering-http-post-default-sentinel): likewise.

	* twittering-mode.el: The second argument of `twittering-call-api'
	is replaced with `additional-info', which is sent to
	`twittering-send-http-request' via `twittering-http-get' or
	`twittering-http-put'.
	(twittering-call-api): replace the argument `noninteractive' with
	`additional-info', which is sent to `twittering-send-http-request'
	via `twittering-http-get' or `twittering-http-put'.
	(twittering-get-and-render-timeline): send `noninteractive' via
	the new argument `additional-info' of `twittering-call-api'.

2010-10-09  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Correctly render the format specifier "%L"
	with a preceding whitespace. Thanks to Tom X. Tobin.
	(twittering-generate-format-table): add a preceding whitespace to
	the format specifier "%L". The previous routine contradicts the
	docstring of `twittering-status-format'.
	* test/test-twittering-mode.el: Correct the test for the format
	specifier "%L".

	* test/test-twittering-mode.el: Fix the test for HMAC.

	* twittering-mode.el (twittering-connection-type-table): remove
	obsolete entries.

	* twittering-mode.el: `twittering-release-process' is called as a
	clean-up sentinel.
	(twittering-call-api): accept new option `clean-up-sentinel' for
	`retrieve-timeline'.
	(twittering-http-default-sentinel): do not call
	`twittering-release-process'.
	(twittering-get-and-render-timeline): explicitly register
	`twittering-release-process' as a clean-up sentinel.

	* twittering-mode.el: Classify functions into some groups.

	* twittering-mode.el: Add a new function
	`twittering-send-http-request-with-default-sentinel'.
	(twittering-send-http-request-with-default-sentinel): new function.

	* twittering-mode.el: Adapt some functions to
	`twittering-send-http-request-with-default-sentinel'.
	(twittering-get-response-body): removed.
	(twittering-start-http-session): use
	`twittering-send-http-request-with-default-sentinel' instead of
	`twittering-send-http-request' and
	`twittering-http-default-sentinel'.
	(twittering-get-error-message): assume that the given buffer
	consists of HTTP response body without headers.
	(twittering-http-default-sentinel): removed.
	(twittering-http-get-default-sentinel): modified so that it can be
	invoked via `twittering-send-http-request-with-default-sentinel'.
	(twittering-http-get-list-index-sentinel): likewise.
	(twittering-http-post-default-sentinel): likewise.
	(twittering-oauth-get-token-alist): likewise.
	(twittering-http-get-verify-credentials-sentinel): likewise.
	(twittering-http-get-verify-credentials-clean-up-sentinel):
	likewise.
	(twittering-get-status-from-http-response): removed.
	(twittering-get-and-render-timeline): modify arguments of
	`clean-up-sentinel' to adapt it to
	`twittering-send-http-request-with-default-sentinel'.

	* twittering-mode.el: Rename
	`twittering-send-http-request-with-default-sentinel'
	`twittering-send-http-request'.
	(twittering-send-http-request-internal): renamed from
	`twittering-send-http-request'.
	(twittering-send-http-request): renamed from
	`twittering-send-http-request-with-default-sentinel'.
	(twittering-start-http-session): use
	`twittering-send-http-requeset' instead of
	`twittering-send-http-request-with-default-sentinel'.
	(twittering-oauth-get-token-alist): likewise.

	* twittering-mode.el: Validity of a HTTP request is confirmed by
	`twittering-make-http-request'.
	(twittering-make-http-request): check the validity of arguments.
	(twittering-start-http-session): remove validity check.

	* twittering-mode.el: Remove `twittering-start-http-session'.
	(twittering-start-http-session): removed.
	(twittering-http-get): use `twittering-send-http-request' instead
	of `twittering-start-http-session'.
	(twittering-http-post): likewise.

	* twittering-mode.el: "Content-Length" for OAuth is calculated by
	`twittering-make-http-request'.
	(twittering-oauth-get-token-alist): remove explicit specification
	of "Content-Length". The header value is determined by
	`twittering-make-http-request'.

	* twittering-mode.el: Add `encoded-query-alist' entry to an alist
	of a HTTP request. This is required for generating "Authorization"
	header of OAuth.
	(twittering-make-http-request): add `encoded-query-alist' entry to
	an alist corresponding to a HTTP request.

	* twittering-mode.el: Add `uri-without-query' entry to an alist of
	a HTTP request. This is required for generating "Authorization"
	header of OAuth.
	(twittering-make-http-request): add `uri-without-query' entry to
	an alist corresponding to a HTTP request.

	* twittering-mode.el: Introduce
	`twittering-add-application-header-to-http-request'.
	(twittering-http-application-headers-with-auth): removed.
	(twittering-add-application-header-to-http-request): new
	function.
	(twittering-http-get): use
	`twittering-add-application-header-to-http-request' instead of
	`twittering-http-application-headers-with-auth'.
	(twittering-http-post): likewise.

	* twittering-mode.el: Fix `twittering-buffer-related-p' in order
	to support multiple edit buffers.
	(twittering-buffer-related-p): fix a condition so that it works
	well even when multiple edit buffer exists.

	* twittering-mode.el: Solve cyclic reference on definition of
	`twittering-unicode-replacement-char'.
	(twittering-ucs-to-char-internal): new function.
	(twittering-unicode-replacement-char): initialized by
	`twittering-ucs-to-char-internal'.
	(twittering-ucs-to-char): redefined with
	`twittering-unicode-replacement-char' and
	`twittering-ucs-to-char-internal'.

	* twittering-mode.el: Modify some codes to avoid warnings on
	byte-compile.
	(twittering-start-http-session-native-tls-p): load the tls library
	before byte-compiling this function. This avoids a warning of the
	reference to `tls-program' on byte-compile.
	(twittering-read-from-encrypted-file): likewise. The epa library
	and "alpaca.el" are loaded before byte-compiling this function.
	(twittering-modeline-properties): new constant.
	(twittering-modeline-active): defined with
	`twittering-modeline-properties'.
	(twittering-modeline-inactive): likewise.

2010-09-26  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Remove redundant pre-processing of HTTP
	response buffer for SSL via a proxy.
	(twittering-oauth-get-response-alist): remove redundant
	pre-processing of HTTP response buffer for SSL via proxy. Instead
	of it, `twittering-oauth-get-token-alist' invokes an appropriate
	function for pre-processing.

	* twittering-mode.el: Correct schemes of URIs used in OAuth/xAuth
	procedures.
	(twittering-oauth-request-token-url): removed.
	(twittering-oauth-authorization-url-base): removed.
	(twittering-oauth-access-token-url): removed.
	(twittering-oauth-request-token-url-without-scheme): new variable.
	(twittering-oauth-authorization-url-base-without-scheme): new
	variable.
	(twittering-oauth-access-token-url-without-scheme): new variable.
	(twittering-oauth-get-token-alist): refer to the scheme of the
	given URI instead of `twittering-oauth-use-ssl'.
	(twittering-verify-credentials): make a URI with correct scheme
	for OAuth or xAuth procedure. The scheme is determined by
	`twittering-oauth-use-ssl'.

	* twittering-mode.el: A HTTP request alist is included in the
	connection info for the request.
	(twittering-oauth-get-token-alist): add an HTTP request alist into
	`connection-info'.
	(twittering-send-http-request-curl): extract the HTTP request
	alist from `connection-info' instead of an argument.
	(twittering-send-http-request-wget): likewise.
	(twittering-send-http-request-native): likewise.
	(twittering-make-connection-info): generate connection info
	according to an arugment `request'.
	(twittering-send-http-request): register the sentinel so that it
	will be invoked with three arguments, process, status-string and
	connection-info. The connection-info is automatically generated
	from the given HTTP request alist.
	(twittering-start-http-session): do not bind `connection-info'.

	* twittering-mode.el: `twittering-send-http-request' receives
	optional arguments for connection method.
	(twittering-send-http-request): add two optional arguments for
	customizing connection method.

	* twittering-mode.el: Fix docstring of
	`twittering-make-http-request'.
	(twittering-make-http-request): fix docstring.

	* twittering-mode.el: `twittering-make-http-request' automatically
	adds the header field "Content-Length" if necessary.
	(twittering-make-http-request): add the header field
	"Content-Length" if it is missing on "POST" method.
	(twittering-http-application-headers): do not add the header field
	"Content-Length".

	* twittering-mode.el: Add `twittering-make-http-request-from-uri'.
	(twittering-make-http-request): accept a string as the argument
	`query-parameters', which is treated as an encoded query string.
	(twittering-make-http-request-from-uri): new function, which
	generates a HTTP request alist from URI.

	* twittering-mode.el: Rearrange `twittering-oauth-get-token-alist'.
	(twittering-oauth-get-token-function-table): removed. Instead of
	the variable, `twittering-connection-type-table' is used.
	(twittering-oauth-get-token-function-type): removed. Instead of
	the variable, `twittering-connection-type-order' is used.
	(twittering-oauth-get-token-alist): use
	`twittering-make-http-request-from-uri' and
	`twittering-send-http-request'.
	(twittering-verify-credentials): remove unnecessary statements.
	(twittering-ensure-connection-method): take account of
	`twittering-oauth-use-ssl'.

	* twittering-mode.el: Transfer sentinel functions to
	`twittering-default-sentinel' via `connection-info'.
	(twittering-start-http-session): transfer the variable `sentinel'
	to `twittering-http-default-sentinel' via `connection-info'.
	(twittering-http-default-sentinel): remove the arguments `func'
	and `clean-up-sentinel'. The sentinel functions are retrieved from
	`connection-info'.

2010-09-19  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix `twittering-push-uri-onto-kill-ring'.
	(twittering-push-uri-onto-kill-ring): confirm that `kill-ring' is
	non-nil before calling `current-kill'.

	* twittering-mode.el: Copy tweets by "C-<mouse-3>".
	Thanks to Faried Nawaz.
	(twittering-mode-menu-on-uri-map): new keymap for menu on URI.
	(twittering-mode-on-uri-map): new keymap used on URI.
	(twittering-mode-map): bind "C-<down-mouse-3>" to
	`mouse-set-point' to move the point and bind "C-<mouse-3>" to
	`twittering-push-tweet-onto-kill-ring'.
	(twittering-make-clickable-status-datum): embed new keymap
	`twittering-mode-on-uri-map' in texts that have `uri' property.
	(twittering-generate-format-table): likewise.
	(twittering-generate-formater-for-first-spec): likewise.
	(twittering-push-tweet-onto-kill-ring): new function.

	* twittering-mode.el: Introduce a function sending a HTTP requests
	with `curl'.
	(twittering-connection-type-table): use new functions
	`twittering-start-http-session-generic' and
	`twittering-send-http-request-curl' for connection-type `curl'.
	(twittering-oauth-get-token-function-table): register the
	pre-processing function for `curl'.
	(twittering-oauth-get-token-alist-generic): new function. This
	works with a function sending HTTP request.
	(twittering-oauth-get-token-alist-curl): removed. The function is
	replaced with the combination of
	`twittering-oauth-get-token-alist-generic' and
	`twittering-send-http-request-curl'.
	(twittering-oauth-get-token-alist): use
	`twittering-oauth-get-token-alist-generic' if the found entry is a
	cons pair of functions.
	(twittering-send-http-request-curl): new function. This is
	abstract interface for sending HTTP request via `curl'.
	(twittering-start-http-session): add more entries to
	`connection-info'. `twittering-send-http-request-curl' requires
	them.
	(twittering-start-http-session-generic): new function.
	(twittering-start-http-session-curl): removed. The function is
	replaced with the combination of
	`twittering-start-http-session-generic' and
	`twittering-send-http-request-curl'.

	* twittering-mode.el: Introduce a function sending a HTTP request
	with native functions.
	(twittering-connection-type-table): use generic function for
	connection-type `native'.
	(twittering-oauth-get-token-function-table): likewise.
	(twittering-oauth-get-token-alist-native): removed. The function
	is replaced with the combination of
	`twittering-oauth-get-token-alist-generic' and
	`twittering-send-http-request-native'.
	(twittering-start-http-session-native): removed. The function is
	replaced with the combination of
	`twittering-start-http-session-generic' and
	`twittering-send-http-request-native'.

	* twittering-mode.el: Integrate generic function into
	`twittering-start-http-session'.
	(twittering-connection-type-table): remove the entry `start' and
	rename `start-process' `send-http-request'.
	(twittering-lookup-http-start-function): use `send-http-request'
	instead of `start-process'.
	(twittering-start-http-session): unified with
	`twittering-start-http-session-generic'.
	(twittering-start-http-session-generic): removed.

	* twittering-mode.el: The HTTP header field "Expect" will be added
	only when using `curl'.
	(twittering-send-http-request-curl): add the field "Expect".
	(twittering-start-http-session): remove the field "Expect".

	* twittering-mode.el: Integrate generic function into
	`twittering-oauth-get-token-alist'.
	(twittering-oauth-get-token-alist): unified with
	`ftwittering-oauth-get-token-alist-generic'.
	(twittering-oauth-get-token-alist-generic): removed.

	* twittering-mode.el: Add new connection method `wget'.
	(twittering-wget-program): new variable.
	(twittering-connection-type-order): add an entry for `wget'.
	(twittering-connection-type-table): add entries for
	new connection-method `wget'.
	(twittering-oauth-get-token-function-table): likewise.
	(twittering-find-wget-program): new function.
	(twittering-start-http-session-wget-p): new function.
	(twittering-send-http-request-wget): new function.
	(twittering-pre-process-buffer-wget): new function.

	* twittering-mode.el: Use an alist for representing parameters of
	a HTTP request.
	(twittering-oauth-get-token-alist): use an alist for representing
	a HTTP request.
	(twittering-send-http-request-curl): receive a HTTP request as an
	alist.
	(twittering-send-http-request-wget): likewise.
	(twittering-send-http-request-native): likewise.

	* twittering-mode.el: Rearrange `twittering-make-http-request'.
	(twittering-make-http-request): return an alist representing
	parameters of a HTTP request instead of a function.
	(twittering-start-http-session): generate a HTTP request alist by
	`twittering-make-http-request'.

	* twittering-mode.el: Ensure an available connection method before
	visiting a timeline.
	(twittering-lookup-http-start-function): do not retry finding
	connection-method with compromise. It is assumed that an available
	connection method is already determined here.
	(twittering-ensure-connection-method): new function.
	(twittering-visit-timeline): ensure that an available connection
	method is determined.

	* twittering-mode.el: Add `twittering-make-connection-info'.
	(twittering-make-connection-info): new function.
	(twittering-send-http-request): new function.
	(twittering-start-http-session): use new functions.

2010-09-12  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Add an edited tweet into the history without
	text properties.
	(twittering-edit-extract-status): extract a status without text
	properties. They may cause `session.el' to fail to save
	`twittering-edit-history' because
	`twittering-make-clickable-status-datum' adds text properties with
	self-reference to tweets.

	* twittering-mode.el (twittering-auth-method): fix docstring.
	(twittering-timeline-spec-alias): likewise.

2010-09-04  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-push-uri-onto-kill-ring): avoid
	pushing the same URL repeatedly.

	* twittering-mode.el: Fix xAuth with `gnutls-cli'.
	(twittering-oauth-get-token-alist-native): add a CRLF following
	the POST body. `gnutls-cli', which may be invoked by
	`open-tls-stream', requires the CRLF at the end of input.

	* twittering-mode.el: Introduce `connection-info', which is
	transferred to a sentinel.
	(twittering-start-http-session): introduce the variable
	`connection-info' to transfer the connection information to a
	sentinel. Since `connection-info' includes `noninteractive', the
	argument `noninteractive' is replaced with `connection-info'.
	(twittering-start-http-session-curl): likewise.
	(twittering-start-http-session-native): likewise.
	(twittering-http-default-sentinel): use `connection-info' instead
	of the current `twittering-use-ssl' and `twittering-proxy-use'.

	* twittering-mode.el (twittering-http-post): remove use of unbound
	variable `noninteractive'.

	* twittering-mode.el (twittering-call-api): use the argument
	`noninteractive' correctly.

	* twittering-mode.el: Introduce a framework to pre-process HTTP
	response buffer.
	(twittering-connection-type-table): add the entries for
	`pre-process-buffer'.
	(twittering-oauth-get-response-alist): remove redundant
	pre-processing for `openssl s_client'.
	(twittering-oauth-get-token-alist-native): pre-process buffer
	according to the variable `connection-info'.
	(twittering-oauth-get-token-alist-curl): likewise.
	(twittering-pre-process-buffer-curl): new function.
	(twittering-pre-process-buffer-native): new function.
	(twittering-http-default-sentinel): pre-process buffer with the
	function registered as `pre-process-buffer' in `connection-info'.

	* twittering-mode.el: Fix replying to tweets displayed as replied
	tweets. Thanks to Naohiro Aota.
	(twittering-enter): correctly use `original-id' for tweets
	displayed by `twittering-show-replied-statuses'.

2010-08-25  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Confirm that a buffer associated with a
	process hs not been killed.
	(twittering-oauth-get-token-alist-native): confirm that the buffer
	associated with the process has not been killed.
	(twittering-oauth-get-token-alist-curl): likewise.

	* twittering-mode.el: Verify an account synchronously.
	(twittering-verify-credentials): wait for the authorization to
	finish.

2010-08-22  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-atom-xmltree-to-status-datum):
	retrieve `user-screen-name' and optional `user-name' from XML for
	StatusNet correctly. Thanks to Takashi Masuda.

	* twittering-mode.el: Introduce `clean-up-sentinel' to
	`twittering-call-api'. It is executed whenever the process
	sentinel is invoked.
	(twittering-call-api): add new argument `clean-up-sentinel' for
	the command `get-list-index' and `verify-credentials'.
	(twittering-start-http-session): add new argument
	`clean-up-sentinel' executed whenever the process sentinel is
	invoked.
	(twittering-start-http-session-curl): likewise.
	(twittering-start-http-session-native): likewise.
	(twittering-http-get): likewise.
	(twittering-http-post): likewise.
	(twittering-http-default-sentinel): invoke `clean-up-sentinel' if
	it is non-nil.

	* twittering-mode.el: Fix the race condition on resetting
	authorization information when the process exits abnormally.
	(twittering-verify-credentials): use `clean-up-sentinel' for
	resetting variables when the process exits abnormally or the HTTP
	response is invalid.
	(twittering-http-get-verify-credentials-clean-up-sentinel): new
	function for resetting some variables when the process for
	`verify-credentials' API exits abnormally.

2010-08-21  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Restore `twittering-get-{search,status}-url'.
	(twittering-lookup-get-status-url): removed.
	(twittering-lookup-get-search-url): removed.
	(twittering-get-status-url): look up a function suitable for
	`twittering-service-method' and call it.
	(twittering-get-search-url): likewise.
	(twittering-make-clickable-status-datum): directly call
	`twittering-get-status-url' and `twittering-get-search-url'
	instead of calling them via `twittering-lookup-get-status-url' or
	`twittering-lookup-get-search-url'.
	(twittering-generate-format-table): likewise.
	(twittering-generate-formater-for-first-spec): likewise.

	* twittering-mode.el: Switch ways to parse XML depending on
	`twittering-service-method'.
	(twittering-atom-xmltree-to-status-datum): switch ways to parse
	XML depending on `twittering-service-method'.

	* twittering-mode.el: Simplify `twittering-call-api'.
	(twittering-call-api): reduce calls of `twittering-api-path'.

	* twittering-mode.el: Replace direct calls of
	`twittering-http-post' with calls of `twittering-call-api'.
	(twittering-update-status-from-minibuffer): use
	`twittering-call-api' instead of `twittering-http-post'.

2010-08-20  Takashi Masuda  <masutaka@nifty.com>

	* twittering-mode.el: Support StatusNet.
	(twittering-api-prefix): new variable.
	(twittering-search-api-method): new variable.
	(twittering-web-path-prefix): new variable.
	(twittering-service-method): new variable.
	(twittering-service-method-table): new variable.
	(twittering-api-path): new function.
	(twittering-lookup-get-status-url): new function.
	(twittering-get-status-url-twitter): new function.
	(twittering-get-status-url-statusnet): new function.
	(twittering-lookup-get-search-url): new function.
	(twittering-get-search-url-twitter): new function.
	(twittering-get-search-url-statusnet): new function.
	(twittering-call-api): generate a path of API by
	`twittering-api-path'. (API のパスは twittering-api-path から取得
	するようにした。)
	(twittering-edit-post-status): likewise.
	(twittering-update-status-from-minibuffer): likewise.
	(twittering-atom-xmltree-to-status-datum): support the format
	used in StatusNet.(いずれも検索関連の修正。
	「interpret-time-diff.patch」「user-name が設定されていないユーザ
	に対応」「検索時のユーザアイコンを取得出来るように修正」)
	(twittering-make-clickable-status-datum): retrieve `status-url'
	and `search-url' via `twittering-lookup-get-status-url' and
	`twittering-lookup-get-search-url'. (twittering-lookup-get-status-url
	と twittering-lookup-get-search-url を介して status-url と
	search-url を取得するようにした。
	(twittering-generate-format-table): likewise.
	(twittering-generate-formater-for-first-spec): likewise.

	* twittering-mode.el: fix statusnet user URL
	(twittering-get-status-url-statusnet): fix user URL

	* twittering-mode.el (twittering-generate-format-table):
	Do not use icon images scaled by API unless Twitter.

	* twittering-mode.el: fix statusnet URL
	(twittering-get-status-url-statusnet): fix id URL
	(twittering-get-status-url-statusnet): fix hashtag URL

2010-08-20  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-edit-post-status): call
	`twittering-call-api' instead of calling `twittering-http-post'
	directly.

	* twittering-mode.el: Do not add unnecessary parameter `source' to
	API calls.
	(twittering-http-post): do not add unnecessary parameter `source'.
	(twittering-call-api): add the parameter `source' when using BASIC
	authentication.

	* twittering-mode.el (twittering-call-api): Change parameters in
	order to follow the update of Twitter API.

	* twittering-mode.el: Add `twittering-push-uri-onto-kill-ring' and
	bind "U" to it. Thanks to Faried Nawaz.
	(twittering-push-uri-onto-kill-ring): new function for pushing the
	uri property of the current position onto the kill-ring.
	(twittering-mode-map): bind "U" to
	`twittering-push-uri-onto-kill-ring'.

	* twittering-mode.el: Add `twittering-new-tweets-statuses' for the
	hook functions of `twittering-new-tweets-hook'. Thanks to Faried
	Nawaz.
	(twittering-new-tweets-statuses): new variable.
	(twittering-add-statuses-to-timeline-data): bind
	`twittering-new-tweets-statuses' to `new-statuses' so that the
	hook functions can refer to the new tweets.

2010-08-15  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Confirm that sufficient information is
	loaded from the private file.
	(twittering-load-private-info): load only variables that are
	enumerated in `twittering-variables-stored-with-encryption'.
	(twittering-has-oauth-access-token-p): new function for checking
	whether `twittering-oauth-access-token-alist' has sufficient
	information.
	(twittering-verify-credentials): confirm that sufficient
	information is loaded from the private file.

2010-08-06  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix options of `curl' for POST with an empty
	body.
	(twittering-start-http-session-curl): add an option "-d" whenever
	`method' equals to "POST".

	* twittering-mode.el: Use the ID of the retweeted original tweet
	on generating a URL or retweeting it.
	(twittering-status-to-status-datum): add new property `source-id'
	specifying a source tweet of a retweet.
	(twittering-generate-formater-for-first-spec): generate a URL for
	a retweet from the ID of its source.
	(twittering-generate-format-status-function): add `source-id' as a
	common property.
	(twittering-native-retweet): use `source-id' for a retweet.

	* twittering-mode.el: Update the embedded CA certificate into
	`Equifax Secure Certificate Authority'.
	(twittering-ensure-ca-cert): replace the CA certificate with
	`Equifax Secure Certificate Authority' currently referred by
	`api.twitter.com' and `search.twitter.com'.

2010-07-25  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-mode): avoid repeating
	authorization when `twittering-initial-timeline-spec-string' is a
	list of multiple timeline spec strings.

	* twittering-mode.el (twittering-http-default-sentinel): display
	an error message when waiting for a response of an authorization
	query.

	* twittering-mode.el: Replace functions `mapcan' and `map' defined
	in `cl-extra' with built-in functions in order to prevent the
	byte-compiled `twittering-mode' from depending on `cl-extra'.
	(twittering-oauth-get-token-alist-curl): replace `mapcan' with a
	combination of `apply', `append' and `mapcar'.
	(twittering-start-http-session-curl): likewise.

2010-07-04  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-redisplay-status-on-buffer): Fix
	the condition of redisplaying a timeline.

	* twittering-mode.el: If it fails to retrieve an image a certain
	times, retry no longer.
	(twittering-create-image-pair): return
	`twittering-error-icon-data-pair' if the argument `image-data' is
	nil.
	(twittering-make-icon-string): fix the condition of
	`image-data'. If it is an integer, it means the time of retries.

	* twittering-mode.el: Use icon images scaled by API if possible.
	(twittering-generate-format-table): generate the URL of the scaled
	icon image by API.

	* twittering-mode.el: Use `GET users/profile_image' API only if
	the variable `twittering-use-profile-image-api' is non-nil. Since
	the API is rate limited, it may cause troubles on other API calls.
	(twittering-use-profile-image-api): new variable.
	(twittering-generate-format-table): call `GET users/profile_imagne'
	API only if `twittering-use-profile-image-api' is non-nil.

2010-07-03  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Replace `xml-parse-region' with
	`twittering-xml-parse-region' in order to prevent abnormal exit
	caused by decoding unknown numeric character references.
	(twittering-unicode-replacement-char): new variable.
	(twittering-ucs-to-char): return
	`twittering-unicode-replacement-char' if decoding failed.
	(decode-char): new advice in order to return
	`twittering-unicode-replacement-char' for unknown code-points.
	(twittering-xml-parse-region): new function. This function does
	not exit abnormally even if given XML includes unknown numeric
	references. Unknown numeric references are replaced with
	`twittering-unicode-replacement-char'.
	(twittering-get-error-message): replace `xml-parse-region' with
	`twittering-xml-parse-region'.
	(twittering-http-get-list-index-sentinel): likewise.
	(twittering-get-status-from-http-response): likewise.

	* twittering-mode.el (twittering-oauth-get-token-alist-url): fix a
	list of bindings.

2010-07-02  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-oauth-get-token-alist-native):
	use `twittering-tls-program' correctly.

	* twittering-mode.el: Detect abnormal exit of an invoked process.
	(twittering-oauth-get-token-alist-native): confirm the exit
	status of the invoked process.
	(twittering-oauth-get-token-alist-curl): likewise.
	(twittering-http-default-sentinel): likewise.

	* twittering-mode.el: Allow insecure server certificates if
	`twittering-allow-insecure-server-cert' is non-nil.
	(twittering-allow-insecure-server-cert): new variable.
	(twittering-oauth-get-token-alist-curl): add "--insecure" option
	to the arguments for `curl' if
	`twittering-allow-insecure-server-cert' is non-nil.
	(twittering-start-http-session-curl): likewise.
	(twittering-start-http-session-native-tls-p): add options to the
	programs in `tls-program' in order to allow insecure server
	certificates if `twittering-allow-insecure-server-cert' is
	non-nil.

	* twittering-mode.el (twittering-verify-credentials): display an
	error message if the variable `twittering-auth-method' is
	invalid.

2010-07-01  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Support the url library included in Emacs 23
	and later.
	(twittering-oauth-get-token-alist-native): support the function
	`url-generic-parse-url' that returns parsed URL object generated
	as `structure'.
	(twittering-oauth-get-token-alist-curl): likewise.

	* twittering-mode.el (twittering-call-api): `user', `friends',
	`mentions' and `public' timelines include native retweets.

2010-06-30  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-verify-credentials): reset
	`twittering-username' when authentication via xAuth failed.

	* twittering-mode.el (twittering-verify-credentials): invoke
	`twittering-prepare-account-info' before authentication method
	requiring account information.
	(twittering-visit-timeline): invoke
	`twittering-verify-credentials' before reading timeline spec.

2010-06-29  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Confirm process status for avoiding
	dead-lock.
	(twittering-oauth-get-token-alist-native): confirm the process
	status in order to avoid dead-lock. If the process exited
	abnormally, the variable `result' becomes nil.
	(twittering-oauth-get-token-alist-curl): likewise.
	(twittering-verify-credentials): wait for the process to exit
	in order to avoid dead-lock.
	(twittering-get-list-index-sync): likewise.

	* twittering-mode.el (twittering-verify-credentials): wait for the
	process to exit in order to avoid dead-lock.

	* twittering-mode.el: Support authentication via xAuth.
	(twittering-get-list-index-sync): likewise.
	(twittering-xauth-auth-str-access-token): new function.
	(twittering-oauth-get-token-alist-url): add an argument
	`post-body'.
	(twittering-oauth-get-token-alist-native): likewise.
	(twittering-oauth-get-token-alist-curl): likewise.
	(twittering-oauth-get-token-alist): add an optional argument
	`post-body'.
	(twittering-xauth-get-access-token): new function.
	(twittering-prepare-account-info): support xAuth.
	(twittering-verify-credentials): likewise.
	(twittering-http-application-headers-with-auth): likewise.
	(twittering-visit-timeline): call
	`twittering-prepare-account-info' for xAuth.

2010-06-13  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-write-and-encrypt): fix arguments
	of `epg-context-set-progress-callback' because of the difference
	between EasyPG 0.0.16 and that included in Emacs23.

	* twittering-mode.el (twittering-save-private-info): change the
	permission of the encrypted file in order to prevent others from
	reading the file.
	(twittering-write-and-encrypt): return t explicitly when it
	succeeded in encrypting private information.

	* twittering-mode.el (twittering-write-and-encrypt): In order to
	prevent `epa-file' to encrypt the file double,
	`epa-file-name-regexp' is temorarily changed into the null regexp
	that never matches any string.

2010-06-12  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix bugs.
	(twittering-hmac-sha1): remove invalid arguments.
	(twittering-oauth-auth-str): correct a variable.

	* twittering-mode.el: Support master password for storing private
	information in an encrypted file.
	(twittering-use-master-password): new variable.
	(twittering-private-info-file): new variable.
	(twittering-variables-stored-with-encryption): new variable.
	(twittering-load-private-info): new function.
	(twittering-load-private-info-with-guide): new function.
	(twittering-save-private-info): new function.
	(twittering-save-private-info-with-guide): new function.
	(twittering-capable-of-encryption-p): new function.
	(twittering-read-from-encrypted-file): new function.
	(twittering-write-and-encrypt): new function.
	(twittering-verify-credentials): support master password.

	* twittering-mode.el: Add codes for debugging functions for
	OAuth.
	(twittering-oauth-get-token-alist-url): add codes for debug.
	(twittering-oauth-get-token-alist-native): likewise.
	(twittering-oauth-get-token-alist-curl): likewise.

2010-06-09  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-oauth-get-access-token): reject
	invalid PIN code input and strip extra white spaces.

2010-06-05  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: confirm that a valid access token has been
	retrieved.
	(twittering-oauth-make-response-alist): do not decode a null entry.
	(twittering-verify-credentials): confirm that the retrieved
	`token-alist' is valid as an access token.

2010-06-04  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el: removed (set-terminal-coding-system 'utf-8)
	(twittering-mode-map): changed key bindings:
	twittering-public-timeline: C-c C-g -> C-c C-p,
	twittering-set-current-hashtag: C-c C-h -> C-c C-t
	

2010-06-03  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el: add encrypted oauth consumer key/secret
	(twittering-auth-method): changed default value to 'oauth
	(twittering-oauth-get-access-token): give users a choise to open
	authrization URL with browser or not when
	twittering-oauth-invoke-browser is nil.

2010-06-03  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Use `twittering-oauth-use-ssl' instead of
	`twittering-use-ssl' on functions for OAuth.
	(twittering-oauth-use-ssl): add docstring.
	(twittering-oauth-get-response-alist): use
	`twittering-oauth-use-ssl' instead of `twittering-use-ssl'.
	(twittering-oauth-get-token-alist-native): likewise.
	(twittering-oauth-get-token-alist-curl): likewise.
	(twittering-verify-credentials): likewise.

	* twittering-mode.el: Restore window parameters after automatic
	redisplaying.
	(twittering-current-window-config): new function.
	(twittering-restore-window-config-after-modification): new function.
	(twittering-redisplay-status-on-each-buffer): restore window
	parameters after redisplaying.

	* twittering-mode.el: Suppress automatic redisplaying if
	unnecessary.
	(twittering-redisplay-status-on-each-buffer): do not modify buffer
	if updated string is same as the current string in the meaning of
	`string='.
	(twittering-make-icon-string): give different strings for
	displayed and undisplayed icon.

	* twittering-mode.el: Stop automatic redisplaying of buffers in
	which the mark and region are active.
	(twittering-redisplay-status-on-buffer): do not update buffer
	in which the mark and region are active.

	* twittering-mode.el: Reimplement the status formater that allows
	recursive specifiers such as "%FILL{%FACE[bold]{%C{%m/%d}}: %T}".
	(twittering-parse-format-string): removed.
	(twittering-generate-formater): removed.
	(twittering-generate-status-formater-base): removed.
	(twittering-generate-format-table): new function.
	(twittering-generate-formater-for-first-spec): new function.
	(twittering-generate-formater-for-current-level): new function.
	(twittering-generate-format-status-function): new function.
	(twittering-generate-format-status-function): use new
	implementation.

	* twittering-mode.el: Add an optional argument for the format
	specifier `FILL'. The argument specifies the prefix for the filled
	region.
	(twittering-status-format): use 2 white spaces as fill-prefix in
	default.
	(twittering-fill-string): use an additional argument `prefix' as
	`fill-prefix' for `fill-region-as-paragraph' if the argument is
	non-nil.
	(twittering-update-filled-string): transfer the local prefix for
	`twittering-fill-string'.
	(twittering-generate-formater-for-first-spec): recognize an
	optional argument for the format specifier `FILL'.

	* twittering-mode.el: Add a new format specifier
	"%FOLD[prefix]{...}".
	(twittering-fill-string): add an argument `keep-newline'. If it is
	non-nil, do not remove newlines in given string.
	(twittering-update-filled-string): add an argument
	`keep-newline'.
	(twittering-generate-formater-for-first-spec): add a new specifier
	"%FOLD[prefix]{...}".

	* twittering-mode.el: Fix unintended cursor motion caused by
	automatic redisplaying.
	(twittering-redisplay-status-on-each-buffer): fix the incorrect
	cursor motion occurring when it points the beginning of region
	that will be be modified.

2010-05-27  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-toggle-activate-buffer): restart
	the timer if it is not active when activating a buffer.

2010-05-24  Naohiro Aota  <naota@elisp.net>

	* twittering-mode.el (twittering-native-retweet): Check if tweet
	is my own one.

2010-05-22  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Use the coding-system `utf-8-unix' for
	reading data retrieved from Twitter.
	(twittering-start-http-session-curl): use the coding-system
	`utf-8-unix' for reading data retrieved from Twitter.
	(twittering-start-http-session-native): likewise.

	* twittering-mode.el: Omit a successful HTTP response and headers
	if they seem to be sent from a proxy for CONNECT method.
	(twittering-http-default-sentinel): omit a successful HTTP
	response and headers from a proxy if using SSL via the proxy.
	(twittering-get-response-header): do not remove headers from a
	proxy.

	* twittering-mode.el: Do not initialize `twittering-tls-program'
	multiple times.
	(twittering-start-http-session-native-tls-p): check `tls-program'
	only if `twittering-tls-program' is nil.

	* twittering-mode.el: Cache the result of capability confirmation
	for `curl'.
	(twittering-start-http-session-curl-p): do not initialize
	`twittering-curl-program' multiple times.
	(twittering-start-http-session-curl-https-p): do not execute
	`curl' multiple times.

	* twittering-mode.el: Look-up of connection type is rearranged.
	(twittering-lookup-http-start-function): reimplemented.
	(twittering-lookup-connection-type): new function.

	* twittering-mode.el: Confirm an available connection method
	before visiting a timeline.
	(twittering-visit-timeline): confirm connection method.

	* twittering-mode.el: Support authentication via OAuth. The
	authentication requires a consumer information registered with
	Twitter and an external WWW browser to authorize a request token.
	(twittering-auth-method): new variable.
	(twittering-oauth-consumer-key, twittering-oauth-consumer-secret):
	new variables for specifying an OAuth consumer.
	(twittering-oauth-access-token-alist): new variable for storing
	access token.
	(twittering-oauth-url-encode): new function.
	(twittering-oauth-unhex): new function.
	(twittering-oauth-url-decode): new function.
	(twittering-oauth-make-signature-base-string): new function.
	(twittering-oauth-make-random-string): new function.
	(twittering-hmac-sha1): imported from
	http://www.emacswiki.org/emacs/HmacShaOne .
	(twittering-oauth-auth-str): new function.
	(twittering-oauth-auth-str-request-token): new function.
	(twittering-oauth-auth-str-exchange-token): new function.
	(twittering-oauth-auth-str-access): new function.
	(twittering-oauth-make-response-alist): new function.
	(twittering-oauth-get-response-alist): new function.
	(twittering-oauth-get-token-alist-url): new function.
	(twittering-oauth-get-token-alist-native): new function.
	(twittering-oauth-get-token-alist-curl): new function.
	(twittering-oauth-get-token-function-table): new variable.
	(twittering-oauth-get-token-function-type): new variable.
	(twittering-oauth-invoke-browser): new variable.
	(twittering-oauth-get-token-alist): new function.
	(twittering-oauth-get-request-token): new function.
	(twittering-oauth-exchange-request-token): new function.
	(twittering-oauth-get-access-token): new function.
	(twittering-prepare-account-info): acquire username and password
	only if `twittering-auth-method' is symbol `basic'.
	(twittering-verify-credentials): support Authentication via OAuth.
	(twittering-http-application-headers): do not add Authorization
	header.
	(twittering-http-application-headers-with-auth): new function for
	generating headers adapted for each authentication method.
	(twittering-http-get): use
	`twittering-http-application-headers-with-auth'.
	(twittering-http-post): likewise.
	(twittering-percent-encode): encode a string according to
	Percent-Encoding defined in RFC3986 instead of RFC1738. It simply
	calls `twittering-oauth-url-encode'.
	(twittering-url-reserved-p): removed.
	* test/test-twittering-mode.el: add new test `test-oauth'.
	* emacs21/hex-util.el: imported from Emacs22.
	* emacs21/sha1.el: imported from Emacs22.

	* twittering-mode.el (twittering-oauth-get-access-token): fix the
	guide string of authorization via OAuth.

	* twittering-mode.el (twittering-hmac-sha1): fix indentation.

	* twittering-mode.el: Fix `twittering-hmac-sha1' so that it works
	well on Emacs23 and later.
	(twittering-hmac-sha1): ensure that internal variables are unibyte
	strings even on Emacs23 and later.
	* test/test-twittering-mode.el: add new test `test-hmac-sha1'.

	* emacs21/sha1.el: Imported from Gnus distributed with Emacs
	22.2.1 on Debian 5.0 for Emacs21 that does not include `sha1.el'.
	* emacs21/hex-util.el: Imported from Gnus distributed with Emacs
	22.2.1 on Debian 5.0 for Emacs21 that does not include
	`hex-util.el'.

2010-05-20  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: The configuration of a proxy is referred via
	the function `twittering-proxy-info'.
	(twittering-proxy-info): return all configuration of the proxy for
	the scheme.

	* twittering-mode.el: Give priority to the variable
	`twittering-proxy-*' over `twittering-http-proxy-*' and
	`twittering-https-proxy-*'.
	(twittering-proxy-server): defined as a variable.
	(twittering-proxy-port): likewise.
	(twittering-proxy-keep-alive): likewise.
	(twittering-proxy-user): likewise.
	(twittering-proxy-password): likewise.
	(twittering-normalize-proxy-vars): normalize
	`twittering-proxy-port'.
	(twittering-proxy-info): return configuration generated from
	`twittering-proxy-*' regardless of the scheme (HTTP or HTTPS) if
	`twittering-proxy-server' and  `twittering-proxy-port' are
	non-nil.

2010-05-17  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-start-http-session-curl): fix
	extraction of the scheme from the variable `request'.

	* twittering-mode.el: Use a relative path to specify the temporary
	cert file for `curl' to ignore the difference of path
	representation between Windows and Cygwin.
	(twittering-start-http-session-curl): change directory before
	invoking `curl' and specify the temporary cert file with relative
	path.

2010-05-15  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Add copyright of the ACTIVE/INACTIVE
	indicators derived from Wanderlust.
	(twittering-active-indicator-image): add the copyright as a
	comment.
	(twittering-inactive-indicator-image): likewise.

	* twittering-mode.el: The function `twittering-icon-mode' keeps
	the current cursor point.
	(twittering-render-timeline): add a new argument `keep-point'.
	(twittering-icon-mode): keep the current cursor point.

	* test/test-twittering-mode.el: Remove an obsolete test and update
	`test-format-status'.

	* twittering-mode.el: The proxies for HTTP and HTTPS can be
	configured individually. The variables
	`twittering-proxy-{server,port,user,password,keep-alive}' are now
	aliases.
	(twittering-http-proxy-server): new variable.
	(twittering-http-proxy-port): new variable.
	(twittering-http-proxy-user): new variable.
	(twittering-http-proxy-password): new variable.
	(twittering-http-proxy-keep-alive): new variable.
	(twittering-https-proxy-server): new variable.
	(twittering-https-proxy-port): new variable.
	(twittering-https-proxy-user): new variable.
	(twittering-https-proxy-password): new variable.
	(twittering-https-proxy-keep-alive): new variable.
	(twittering-proxy-server): changed into an alias to
	`twittering-http-proxy-server'.
	(twittering-proxy-port): changed into an alias to
	`twittering-http-proxy-port.
	(twittering-proxy-user): changed into an alias to
	`twittering-http-proxy-user.
	(twittering-proxy-password): changed into an alias to
	`twittering-http-proxy-password.
	(twittering-proxy-keep-alive): changed into an alias to
	`twittering-http-proxy-keep-alive.
	(twittering-normalize-proxy-vars): new function.
	(twittering-proxy-info): new function.
	(twittering-url-proxy-services): new function.
	(twittering-setup-proxy): initialize individual proxy
	configurations for HTTP and HTTPS.

	* twittering-mode.el: Enable to retrieve icon images silently.
	(twittering-url-show-status): new variable.
	(twittering-url-wrapper): control display of status even if the
	retrieval is asynchronous.

2010-05-11  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix initialization of `twittering-tls-program'.
	(twittering-start-http-session-native-tls-p): use
	`twittering-tls-program' if it is non-nil.

2010-05-09  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Use "\\`" as the regexp for the head of a
	tweet instead of "^". This prevents misinterpretation of tweets
	including multiple lines.
	(twittering-edit-post-status): correct the regexp for determining
	whether the "in-reply-to" ID should be attached or not.
	(twittering-update-status-from-minibuffer): likewise.
	(twittering-status-not-blank-p): correct the regexp for
	distinguish a blank tweet from a non-blank tweet.

	* twittering-mode.el: Prevent applying improper functions to a
	failed connection.
	(twittering-verify-credentials): give up authorization if
	`twittering-call-api' returns nil.
	(twittering-start-http-session-curl): return nil if it failed to
	open a connection.
	(twittering-start-http-session-native): likewise.

	* twittering-mode.el: Support HTTPS with `tls' library.
	(twittering-tls-program): new variable.
	(twittering-connection-type-table): register
	`twittering-start-http-session-native-tls-p' as the "https" entry
	for "native".
	(twittering-start-http-session-native-tls-p): new function.
	(twittering-start-http-session-native): call `open-tls-stream' if
	`twittering-use-ssl' is non-nil.
	* emacs21/tls.el: Imported from Emacs 22.2.1 on Debian 5.0 for
	Emacs21 that does not include `tls.el'.

2010-05-08  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Add an abstract layer for Twitter API.
	(twittering-call-api): new function.
	(twittering-timeline-spec-to-host-method): removed.
	(twittering-host-method-to-timeline-spec): removed.
	(twittering-manage-friendships): removed.
	(twittering-manage-favorites): removed.
	(twittering-get-tweets): removed.
	(twittering-verify-credentials): use `twittering-call-api' instead
	of calling `twittering-http-get' directly.
	(twittering-get-list-index): likewise.
	(twittering-get-and-render-timeline): use `twittering-call-api'
	instead of calling `twittering-get-tweets'. The function also
	calculates how many tweets should be retrieved.
	(twittering-update-lambda): use `twittering-call-api' instead of
	calling `twittering-http-post' directly.
	(twittering-update-jojo): likewise.
	(twittering-native-retweet): likewise.
	(twittering-follow): use `twittering-call-api'.
	(twittering-favorite): likewise.

	* twittering-mode.el: Bind "C-c D" to `twittering-delete-status',
	which is a new function deleting a tweet.
	(twittering-delete-status): new function.
	(twittering-call-api): add a new command `destroy-status'.
	(twittering-delete-status-from-data-table): new function.
	(twittering-mode-map): bind "C-c D" to `twittering-delete-status'.

2010-05-08  Takashi Masuda  <masutaka@nifty.com>

	* twittering-mode.el (twittering-update-jojo): 自分のツイートには返
	信しないようにした。
	* twittering-mode.el (twittering-update-jojo): do not reply to
	tweets posted by the current user itself.

2010-05-08  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-jojo-mode-p): confirm that the
	buffer has not been killed.

2010-05-06  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix the format specifier "%r" for direct
	message.
	(twittering-status-to-status-datum): add `recipient-screen-name'
	as a element of a status.
	(twittering-xmltree-to-status): store `recipient_screen_name'
	without modificaiton.
	(twittering-generate-status-formater-base): replace "%r" with
	`recipient-screen-name' if it exists.

2010-05-05  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Use a dummy buffer to prevent the cursor
	from moving without intention after invoking `url-retrieve'.
	(twittering-url-request-dummy-buffer-name): new constant for dummy
	buffer.
	(twittering-resolve-url-request): switch to the dummy buffer just
	after killing the content buffer generated by `url-retrieve'. This
	prevents multiple threads from having different cursor points for
	the same buffer.

2010-05-05  Takashi Masuda  <masutaka@nifty.com>

	* twittering-mode.el: twittering-jojo-mode の判定ミスを修正。
	(twittering-add-statuses-to-timeline-data): 判定方法を変更した。
	(twittering-jojo-mode-p): new function
	* twittering-mode.el: `twittering-jojo-mode' for each spec is
	correctly referred in order to decide whether to invoke
	`twittering-update-jojo'.
	(twittering-add-statuses-to-timeline-data): correct the condition
	for invoking `twittering-update-jojo'.
	(twittering-jojo-mode-p): new function.

2010-05-04  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-ask-post): renamed
	`twittering-request-confirmation-on-posting'.

	* twittering-mode.el (twittering-edit-post-status): correct the
	condition for requesting confirmation on posting a status.

2010-05-03  Takashi Masuda  <masutaka@nifty.com>

	* twittering-mode.el: Tweet する時に y-or-n-p で問い合わせを出来る
	ようにした。デフォルトは聞かれない。
	(twittering-ask-post): new variable
	* twittering-mode.el: Add confirmation on posting a status edited
	in pop-up buffer. It is disabled on default.
	(twittering-ask-post): new variable.

	* twittering-mode.el: `V' の補完対象に :direct_messages や :home を
	追加した。
	(twittering-read-timeline-spec-with-completion): dummy-hist に追加。
	* twittering-mode.el: Add some primary timeline specs, such as
	":direct_messages" and ":home", to candidates of completion.
	(twittering-read-timeline-spec-with-completion): add some timeline
	specs to dummy-hist.

2010-05-03  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-edit-setup-help): generate help
	message by using `substitute-command-keys'.

	* twittering-mode.el: The format specifier "@" can receive the
	time format string, which is used to format the time of
	sufficiently old statuses.
	(twittering-generate-status-formater-base): add new parameter
	'time-format' to the specifier "@".
	(twittering-make-passed-time-string): receive new argument
	`time-format'.

	* twittering-mode.el: Functions for retrieving URLs asynchronously
	are added.
	(twittering-url-data-hash): new variable for retrieved data.
	(twittering-url-request-list): new variable for additional requests.
	(twittering-url-request-sentinel-hash): new variable for sentinels.
	(twittering-internal-url-queue): new variable.
	(twittering-url-request-resolving-p): new variable.
	(twittering-url-request-retry-limit): new variable.
	(twittering-remove-redundant-queries): new function.
	(twittering-resolve-url-request): new function.
	(twittering-url-retrieve-async): new function.

	* twittering-mode.el: Icons are retrieved asynchronously.
	(twittering-icon-prop-hash): new variable.
	(twittering-image-data-table): removed.
	(twittering-get-display-spec-for-icon): new function.
	(twittering-convert-image-data): new function.
	(twittering-error-icon-data-pair): new constant.
	(twittering-create-image-pair): new function.
	(twittering-register-image-data): new function.
	(twittering-make-slice-spec): new function.
	(twittering-make-display-spec-for-icon): rearranged.
	(twittering-make-icon-string): new function.
	(twittering-retrieve-image): removed.
	(twittering-generate-status-formater-base): use
	`twittering-make-icon-string'.
	(twittering-image-stack): removed.
	(twittering-image-type): removed.
	(twittering-image-type-cache): removed.

2010-05-01  Immad Naseer  <immad.naseer@gmail.com>

	* twittering-mode.el: New interactive functions for direct
	messages are added.
	(twittering-direct-messages-timeline): new function.
	(twittering-sent-direct-messages-timeline): new function.

2010-04-25  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix mode-line to display the rate limit.
	(twittering-mode-line-buffer-identification): add the remaining
	number of API requests if `twittering-display-remaining' is
	non-nil.

	* twittering-mode.el: Stop keeping undo information for buffers
	managed by `twittering-mode'. Thanks to irie for pointing it out.
	(twittering-mode-setup): call `buffer-disable-undo'.

	* twittering-mode.el: Verify the account in advance of retrieving
	statuses.
	(twittering-account-authorization): new variable.
	(twittering-account-authorized-p): new function.
	(twittering-account-authorization-queried-p): new function.
	(twittering-prepare-account-info): new function for completing
	username and password.
	(twittering-verify-credentials): new function.
	(twittering-http-get-verify-credentials-sentinel): new function.
	(twittering-get-managed-buffer): start the timer after
	authorization.
	(twittering-mode-init-global): initialize neither
	`twittering-username' nor `twittering-password'.
	(twittering-mode): call `twittering-prepare-account-info'.
	(twittering-get-and-render-timeline): ignore requests unless
	authorization is completed.
	(twittering-update-active-buffers): do not retrieve statuses
	unless authorization is completed.
	(twittering-visit-timeline): verify the account.
	(twittering-get-username): use `twittering-username' directly.
	(twittering-get-password): use `twittering-password' directly.
	(twittering-username-active): removed.
	(twittering-password-active): removed.

	* twittering-mode.el: `twittering-visit-timeline' initializes
	global variables if necessary.
	(twittering-visit-timeline): initialize global variables and
	prepare account information.
	(twittering-mode): delegate the initialization to
	`twittering-visit-timeline'.
	(twittering-mode-init-global): renamed
	`twittering-initialize-global-variables-if-necessary'.

	* twittering-mode.el: Support multiple timelines on initialization.
	(twittering-initial-timeline-spec-string): mean multiple timelines
	if the value is a list of strings.
	(twittering-mode): support multiple timeline specs on
	initialization.

2010-04-24  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Reimplement indicators.
	(twittering-ssl-indicator-image): new constant.
	(twittering-modeline-ssl): defined as a constant, which is
	initialized on loading `twittering-mode.el'.
	(twittering-ssl-image, twittering-ssl-indicator): removed.
	(twittering-ssl-icon): removed.
	(twittering-active-image, twittering-inactive-image): removed.
	(twittering-active-indicator, twittering-inactive-indicator):
	removed.
	(twittering-icon-directory): removed.
	(twittering-active-icon, twittering-inactive-icon): removed.
	(twittering-display-image-p): removed.
	(twittering-init-mode-line-icons): removed. Images are initialized
	as constants on loading `twittering-mode.el'.
	(twittering-active-indicator-image): new constant.
	(twittering-inactive-indicator-image): new constant.
	(twittering-modeline-active): defined as a constat.
	(twittering-modeline-inactive): likewise.
	(twittering-mode-init-global): remove the call of
	`twittering-init-mode-line-icons'.

	* twittering-mode.el: Display the buffer state as
	`mode-line-buffer-identification' instead of `mode-name'.
	(twittering-mode-line-buffer-identification): new function for
	generating a mode-line string for `twittering-mode'.
	(twittering-mode-string): removed.
	(twittering-modeline-ssl): remove brackets from the mode-line
	string.
	(twittering-modeline-active): use a whitespace with `display' face
	as a mode-line string.
	(twittering-modeline-inactive): remove brackets from the mode-line
	string.
	(twittering-update-mode-line): call `force-mode-line-update' only.
	(twittering-mode-setup): initialize `mode-name' and
	`mode-line-buffer-identification'.

2010-04-19  Takashi Masuda  <masutaka@nifty.com>

	* twittering-mode.el : 関数名が古かったので、リネーム。
	(twittering-init-mode-line-icons):
	(twittering-mode-init-global):
	twittering-init-active-inactive-icons から
	twittering-init-mode-line-icons にリネーム。
	* twittering-mode.el : rename old functions.
	(twittering-init-mode-line-icons): rename
	`twittering-init-active-inactive-icons'
	`twittering-init-mode-line-icons'.

	* twittering-mode.el : SSL と ACTIVE/INACTIVE の状態をモードライン
	アイコンに表示するようにした。-nw 時は文字列を表示する。
	(twittering-update-mode-line): mode-line-buffer-identification の設
	定を追加。INACTIVE と ssl の mode-name への設定を削除した。
	(twittering-display-image-p): 新規マクロ
	(twittering-init-active-inactive-icons): 新規関数
	(twittering-mode-init-global):
	twittering-init-active-inactive-icons を呼ぶように修正。
	* twittering-mode.el : display graphical indicators for SSL and
	ACTIVE/INACTIVE state on mode-line.
	(twittering-update-mode-line): add graphical indicators to
	`mode-line-buffer-identification' instead of `mode-name'.
	(twittering-display-image-p): new macro.
	(twittering-init-active-inactive-icons): new function.
	(twittering-mode-init-global): call
	`twittering-init-active-inactive-icons'.

	* icons/ssl.xpm: 上記に伴い Mew から拝借。
	* icons/ssl.xpm: imported from Mew.

	* offline.patch: 上記に伴い削除。元々私がブログに公開したものを
	Hayamizu 氏が拾って下さったもの。
	* offline.patch: removed. (Mr.Hayamizu imported it, which
	originated from Masuda's blog.)

2010-04-19  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-buffer-from-spec): return nil
	if the corresponding buffer has been already killed.
	(twittering-update-unread-status-info): do not count statuses for
	a killed buffer.
	(twittering-http-get-default-sentinel): do not render a timeline
	for a killed buffer.

2010-04-17  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Reimplement support of multiple buffers. The
	timeline spec and active-mode flag of each managed buffer are
	stored as buffer-local variables.
	(twittering-timeline-spec): new buffer-local variable.
	(twittering-timeline-spec-string): new buffer-local variable.
	(twittering-active-mode): new buffer-local variable.
	(twittering-buffer-info-list): redefined as a list of buffers.
	(twittering-get-buffer-list): follow the redefinition of
	`twittering-buffer-info-list'.
	(twittering-get-active-buffer-list): likewise.
	(twittering-buffer-p): likewise.
	(twittering-get-buffer-from-spec): likewise.
	(twittering-unregister-buffer): likewise.
	(twittering-unregister-killed-buffer): likewise.
	(twittering-buffer-active-p): use buffer-local
	`twittering-active-mode'.
	(twittering-get-timeline-spec-for-buffer): use buffer-local
	`twittering-timeline-spec'.
	(twittering-get-timeline-spec-string-for-buffer): use buffer-local
	`twittering-timeline-spec-string'.
	(twittering-register-buffer): removed. Its body is integrated into
	`twittering-get-managed-buffer'.
	(twittering-replace-spec-string-for-buffer): set buffer-local
	`twittering-timeline-spec-string' directly.
	(twittering-set-active-flag-for-buffer): use
	`twittering-toggle-activate-buffer'.
	(twittering-toggle-activate-buffer): set buffer-local
	`twittering-active-mode' directly.
	(twittering-get-managed-buffer): rearranged.
	(twittering-mode-setup): set up `twittering-timeline-spec',
	`twittering-timeline-spec-string' and `twittering-active-mode'.
	And register the current buffer to `twittering-buffer-info-list'.

	* twittering-mode.el: Add functions to switch timelines.
	(twittering-switch-to-next-timeline): new function.
	(twittering-switch-to-previous-timeline): new function.
	(twittering-mode-map): bind "f" and "b" to
	`twittering-switch-to-next-timeline' and
	`twittering-switch-to-previous-timeline', respectively.

2010-04-09  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-mode-init-global): initialize
	faces without using `copy-face' because it does not change the
	default face for new frames.

2010-04-07  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Fix a bug on updating timeline history.
	(twittering-http-get-default-sentinel): call
	`twittering-add-timeline-history' with correct timeline spec
	string.
	(twittering-add-timeline-history): receive timeline spec string
	instead of timeline spec.

	* twittering-mode.el (twittering-mode-setup): omit redundant call
	of `run-hook'.

	* twittering-mode.el (twittering-direct-message): fix a lack of
	separator. Thanks to Takashi Masuda.

2010-04-06  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-new-tweets-spec): new variable
	for timeline spec on running `twittering-new-tweets-hook'.

	* twittering-mode.el: Add an experimental notifier for unread
	statuses on mode-line. You can enable it by invoking
	`twittering-enable-unread-status-notifier'. To disable it, invoke
	`twittering-disable-unread-status-notifier'.
	(twittering-unread-status-info): new variable.
	(twittering-reset-unread-status-info-if-necessary): new function.
	(twittering-set-number-of-unread): new function.
	(twittering-make-unread-status-notifier-string): new function.
	(twittering-update-unread-status-info): new function.
	(twittering-enable-unread-status-notifier): new function.
	(twittering-disable-unread-status-notifier): new function.

	* twittering-mode.el: Support fixed fill-column for the format
	specifier "%FILL{...}". Thanks to William Xu.
	(twittering-fill-column): new variable.

2010-04-04  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el: Improve compatibility with global-font-lock mode.
	(twittering-mode-init-global): use `bold' instead of
	`font-lock-string-face' if it has not been bound yet.
	`twittering-mode' does not require loading `font-lock'.
	(twittering-mode-setup): prevent `global-font-lock-mode' enabling
	`font-lock-mode' by using buffer-local `font-lock-global-modes'.
	`twittering-mode' can be used with/without any configuration for
	font-lock mode.

	* twittering-mode.el: Replace hard-coded hostnames with
	variables and functions. Thanks to William Xu.
	(twittering-api-host): new variable.
	(twittering-api-search-host): new variable.
	(twittering-web-host): new variable.
	(twittering-get-search-url): new function.
	(twittering-make-clickable-status-datum): call
	`twittering-get-search-url' instead of using hard-coded hostname.

	* twittering-mode.el (twittering-start-http-session-curl): do not
	overwrite headers that `curl' will define internally. Thanks to
	William Xu.

2010-04-03  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-buffer-active-p): renamed
	`twittering-buffer-related-p'.

	* twittering-mode.el (twittering-start): check the value of
	`twittering-timer-for-redisplaying' before setting timer.

	* twittering-mode.el: Multiple buffers are supported.
	(twittering-buffer-info-list): new variable for managing multiple
	buffers.
	(twittering-buffer): both of the function and the variable are
	removed.
	(twittering-update-mode-line): remove timeline spec from mode-line
	because it is displayed as the name of buffer.
	(twittering-switch-timeline): removed.
	(twittering-get-buffer-list): new function.
	(twittering-get-active-buffer-list): new function.
	(twittering-buffer-related-p): modified to support multiple buffers.
	(twittering-buffer-p): new function.
	(twittering-buffer-active-p): new function.
	(twittering-get-buffer-from-spec): new function.
	(twittering-get-buffer-from-spec-string): new function.
	(twittering-get-timeline-spec-for-buffer): new function.
	(twittering-get-timeline-spec-string-for-buffer): new function.
	(twittering-current-timeline-spec): return timeline spec for the
	current buffer.
	(twittering-current-timeline-spec-string): return timeline spec
	string for the current buffer.
	(twittering-register-buffer): new function.
	(twittering-unregister-buffer): new function.
	(twittering-unregister-killed-buffer): new function.
	(twittering-replace-spec-string-for-buffer): new function.
	(twittering-set-active-flag-for-buffer): new function.
	(twittering-toggle-activate-buffer): new function.
	(twittering-activate-buffer): new function.
	(twittering-deactivate-buffer): new function.
	(twittering-kill-buffer): new function.
	(twittering-generate-new-buffer): new function.
	(twittering-switch-timeline): removed.
	(twittering-get-managed-buffer): new function.
	(twittering-mode-map): `twittering-toggle-activate-buffer' is
	bound to "a". `twittering-kill-buffer' is bound to "q" instead of
	`twittering-suspend'.
	(twittering-mode-init-global): new function for initializing
	global variables.
	(twittering-initialized): new variable.
	(twittering-mode-setup): new function for initializing a buffer
	being managed by `twittering-mode'.
	(twittering-mode): reimplemented.
	(twittering-icon-mode): support multiple buffers.
	(twittering-http-get-default-sentinel): render the retrieved
	statuses on the buffer bound to the timeline spec.
	(twittering-redisplay-status-on-buffer): support multiple buffers.
	(twittering-redisplay-status-on-each-buffer): new function.
	(twittering-render-timeline): require the target buffer.
	(twittering-timer-action): support multiple buffers.
	(twittering-get-tweets): support multiple buffers.
	(twittering-get-and-render-timeline): retrieve and render the
	timeline bound to the current buffer.
	(twittering-start): use `twittering-update-active-timeline'
	instead of `twittering-current-timeline-noninteractive' for
	`twittering-timer'.
	(twittering-toggle-reverse-mode): support multiple buffers.
	(twittering-friends-timeline): call `twittering-visit-timeline'
	instead of `twittering-get-and-render-timeline'.
	(twittering-home-timeline): likewise.
	(twittering-replies-timeline): likewise.
	(twittering-public-timeline): likewise.
	(twittering-user-timeline): likewise.
	(twittering-other-user-timeline): likewise.
	(twittering-other-user-timeline-interactive): likewise.
	(twittering-other-user-list-interactive): likewise.
	(twittering-search): likewise.
	(twittering-update-active-buffers): new function for retrieving
	timelines for active buffers.
	(twittering-current-timeline): retrieve statuses for current
	buffer.
	(twittering-erase-old-statuses): erase statuses of the timeline
	bound to the current buffer.
	(twittering-visit-timeline): switch to the buffer generated by
	`twittering-get-managed-buffer'.

	* twittering-mode.el (twittering-update-server-info): update
	mode-lines for all buffers managed by `twittering-mode' if
	`twittering-display-remaining' is non-nil.

2010-03-30  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-response-header): return nil
	if an empty line as a separater is not found in the given buffer.
	(twittering-http-default-sentinel): generate `header-info' only if
	`header' is non-nil.

2010-03-29  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-url-wrapper): new wrapper
	function for using URL library with proxy configuration for
	`twittering-mode'.
	(twittering-url-insert-file-contents): likewise.
	(twittering-url-retrieve-synchronously): likewise.
	(twittering-setup-proxy): call `url-scheme-get-property' to avoid
	`url-proxy-services' to be reset.
	(twittering-retrieve-image): use the wrapper function instead of
	a function in URL library.
	(twittering-tinyurl-get): likewise.

	* twittering-mode.el (twittering-update-status-from-minibuffer):
	fix infinite loop on updating a status from minibuffer.

	* twittering-mode.el (twittering-start-http-session-curl): modify
	the order of arguments for `curl', where the URL is placed last.

2010-03-25  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-status-url): change the
	format of a URL of a certain status into that used in the web
	interface on `http://twitter.com/'.

2010-03-24  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-register-process): store timeline
	spec string.
	(twittering-get-and-render-timeline): register a process together
	with timeline spec string.
	(twittering-release-process): use `delq' instead of `delete'.
	(twittering-get-timeline-spec-string-from-process): new function
	for registered timeline spec string.

	* twittering-mode.el (twittering-http-get-default-sentinel):
	display the timeline spec string in notification.

2010-03-23  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-mode-map): bind "SPC" and "C-v" to
	`twittering-scroll-up', and bind "<backspace>" and "M-v" to
	`twittering-scroll-down'.
	(twittering-scroll-up): new function. Thanks to Jim Crossley.
	(twittering-scroll-down): new function.

2010-03-20  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-edit-post-status): Don't add
	parameter `in_reply_to_status_id' if the tweet does not begin with
	`@' and username which is passed from callers.
	(twittering-update-status-from-minibuffer): Likewise.
	(twittering-generate-status-formater-base): Make the specifier
	"%r" work similarly to web interface.

2010-03-19  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-retrieve-image): Use
	`create-image'.

2010-03-19  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-regexp-hash): New defvar.
	(twittering-regexp-atmark): Likewise.
	(twittering-extract-timeline-spec): Use these.
	(twittering-make-clickable-status-datum): Likewise.

2010-03-19  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-remove-inactive-processes): add
	`exit' and `signal' to `inactive-statuses'.

2010-03-18  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-other-user-list-interactive): 
	Revert part of 2010-03-12 change to prevent an overwrite of a
	message which is outputted by `twittering-read-list-name'.

	* twittering-mode.el (twittering-http-default-sentinel): Check
	process-status before processing sentinel.

	* twittering-mode.el (twittering-make-clickable-status-datum): Add
	a text property `goto-spec'.
	(twittering-other-user-timeline): Refer it.
	(twittering-make-clickable-status-datum): Add a text property
	`screen-name-in-text' to both `user-name' and `user-screen-name'.
	(twittering-make-clickable-status-datum): No longer add text
	properties `hashtag-in-text' and `uri-in-text'.
	(twittering-enter): Don't refer these properties.
	(twittering-make-clickable-status-datum): Reduce loops.

	* twittering-mode.el (twittering-follow): Copy username and clear
	its text properties before using it for display on minibuffer.
	(twittering-other-user-list-interactive): Likewise.
	(twittering-read-list-name): Likewise.
	(twittering-native-retweet): Likewise for text.
	(twittering-favorite): Likewise for text.

2010-03-17  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-generate-status-formater-base):
	fix the formater for "%FACE[...]{...}".

2010-03-13  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el: Improve a support of sending direct
	messages.

	* twittering-mode.el (twittering-update-status-from-pop-up-buffer):
	Use twitter API which is related of direct_messages if necessary.
	(twittering-update-status-from-minibuffer): Likewise.
	(twittering-timeline-spec-is-direct-messages-p): New defun.
	(twittering-reply-recipient): Rename from
	`twittering-reply-to-id'.
	(twittering-update-status-from-pop-up-buffer): Adjust callers.
	(twittering-render-timeline): Add a text property `belongs-spec'.
	(twittering-update-status-from-pop-up-buffer): Add optional
	arguments `username' and `spec'.
	(twittering-update-status-from-minibuffer): Likewise.
	(twittering-enter): Adjust callers.

	* twittering-mode.el (twittering-edit-setup-help): Add optional
	arguments `username' and `spec'.
	(twittering-update-status-from-pop-up-buffer): Call it here.
	(twittering-edit-mode): Don't call it here.

	* twittering-mode.el (twittering-direct-message): Call
	`twittering-read-username-with-completion'.

	* twittering-mode.el (twittering-make-display-spec-for-icon): Use
	`create-animated-image' if present (on Emacs24 or later).

2010-03-12  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get-default-sentinel):
	Revert part of 2010-03-06 change because the scheduled removing of
	public_timeline from twitter API had been canceled on 2010-03-11.

	* twittering-mode.el (twittering-other-user-list-interactive): Fix
	condition to detect a null string.
	(twittering-other-user-timeline-interactive): Likewise.
	(twittering-extract-timeline-spec): Modify the condition for
	detecting a null string same as others.
	(twittering-get-replied-statuses): Likewise.
	(twittering-generate-status-formater-base): Likewise.
	(twittering-search): Likewise.
	(twittering-follow): Likewise.
	(twittering-direct-message): Add the condition for `username' is
	nil.
	(twittering-reply-to-user): Likewise.
	(twittering-other-user-list-interactive): Likewise for
	`list-name'.

2010-03-11  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-update-status-format): kill
	newly generated `*Compile-Log*' buffer if it is empty.

	* twittering-mode.el (twittering-mode-init-variables): initialize
	account information explicitly.
	(twittering-get-username): simplified.
	(twittering-get-password): simplified.

2010-03-11  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-render-timeline): Call
	`twittering-show-replied-statuses' if necessary.
	(twittering-show-replied-tweets): New defvar.
	(twittering-get-replied-statuses): Add optional argument `count'.
	(twittering-show-replied-statuses): Likewise.
	(twittering-have-replied-statuses-p): New defun.
	(twittering-show-replied-statuses): Add optional argument
	`interactive'.
	(twittering-hide-replied-statuses): Likewise.
	(twittering-toggle-show-replied-statuses): Adjust callers.
	(twittering-show-replied-statuses): Show a reason to do nothing.
	(twittering-hide-replied-statuses): Likewise.

	* twittering-mode.el (twittering-get-replied-statuses): Fix
	condition because `replied-id' always non-nil.
	(twittering-hide-replied-statuses): Fix condition to avoid an
	infinite loop.

	* twittering-mode.el (twittering-hide-replied-statuses): Go to the
	head of parent status before hiding replied statuses.

	* twittering-mode.el (twittering-default-show-replied-tweets): New
	defvar.
	(twittering-render-timeline): Use it instead of
	`twittering-show-replied-tweets'.
	(twittering-toggle-show-replied-statuses): Pass
	`twittering-show-replied-tweets' into
	`twittering-show-replied-statuses'.
	(twittering-show-replied-tweets): Add a docstring.

2010-03-11  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-lookup-http-start-function):
	rearranged.

2010-03-10  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-lookup-http-start-function):
	Don't use `booleanp' to work on Emacs21.

	* twittering-mode.el (twittering-mode-map): Use `kbd' macro same
	as other keymaps.

	* twittering-mode.el (twittering-goto-next-status): Show a
	progress message.
	(twittering-goto-previous-status): Likewise.

2010-03-10  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-fill-string): receive adjustment
	width as the second argument.
	(twittering-update-status-format): support formating status with a
	prefix.
	(twittering-generate-formater): likewise.
	(twittering-generate-status-formater-base): likewise.
	(twittering-generate-format-status-function): likewise.
	(twittering-update-filled-string): likewise.
	(twittering-format-status-for-redisplay): new function for
	redisplaying a formated status with a prefix.

	* twittering-mode.el (twittering-find-status): new function for
	finding a status from an ID.
	(twittering-get-replied-statuses): new function for making a list
	of replied statuses.
	(twittering-mode-map): add
	`twittering-toggle-show-replied-statuses' to keymap as "r".
	(twittering-replied-statuses-visible-p): new function.
	(twittering-show-replied-statuses): new function.
	(twittering-hide-replied-statuses): new function.
	(twittering-toggle-show-replied-statuses): new function.
	(twittering-get-id-at): new function.
	(twittering-get-current-status-head): new function.

2010-03-09  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-redisplay-status-on-buffer): call
	`func' with the region.
	(twittering-make-passed-time-string): restore the original
	properties.

	* twittering-mode.el (twittering-timeline-data-table): store ID
	table and referring ID table, too.
	(twittering-current-timeline-id-table): new function.
	(twittering-add-statuses-to-timeline-data): store updated ID
	tables.

	* twittering-mode.el (twittering-generate-status-formater-base):
	redisplay filled string including substring that should be
	redisplayed.
	(twittering-update-filled-string): new function for updating
	filled string with `need-to-be-update' property.

2010-03-07  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-edit-replace-at-point): New defun
	to call `twittering-edit-length-check' forcefully.
	(twittering-edit-mode-map): Bind F4 to it instead of
	`twittering-tinyurl-replace-at-point'.
	(twittering-edit-length-check): Make all arguments optional.

2010-03-06  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-server-info-alist): new variable
	for storing server information.
	(twittering-http-status-line-regexp): removed.

	* twittering-mode.el (twittering-display-remaining): new variable
	for specifying whether the remaining of rate limit should be
	displayed on the mode line or not.
	(twittering-update-mode-line): display the remaining of rate limit
	if `twittering-display-remaining' is non-nil.
	(twittering-get-ratelimit-remaining): new function.
	(twittering-get-ratelimit-limit): new function.

2010-03-06  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el: Use the new versioned API endpoint at
	"api.twitter.com/1" instead of the legacy API endpoint to fit
	twitter API specification as of 2010-02-17.
	(twittering-timeline-spec-to-host-method): Likewise.
	(twittering-host-method-to-timeline-spec): Likewise.
	(twittering-edit-post-status): Likewise.
	(twittering-update-status-from-minibuffer): Likewise.
	(twittering-manage-friendships): Likewise.
	(twittering-manage-favorites): Likewise.
	(twittering-update-lambda): Likewise.
	(twittering-update-jojo): Likewise.
	(twittering-http-post): Update a comment.

	* twittering-mode.el (twittering-http-get-default-sentinel): Add
	an additional information which is related to obsolete
	public_timeline.

	* twittering-mode.el (twittering-http-post): Set parameter
	`source' here.
	(twittering-edit-post-status): Adjust callers.
	(twittering-update-status-from-minibuffer): Likewise.
	(twittering-manage-friendships): Likewise.
	(twittering-manage-favorites): Likewise.
	(twittering-update-lambda): Likewise.
	(twittering-update-jojo): Likewise.
	(twittering-native-retweet): Likewise.

	* twittering-mode.el (twittering-http-default-sentinel): Call
	`twittering-switch-timeline' and `twittering-release-process' only
	when `proc' is non-nil.

	* twittering-mode.el (twittering-http-get-default-sentinel):
	Change style of an additional error message.
	(twittering-http-get-list-index-sentinel): Likewise.
	(twittering-http-post-default-sentinel): Likewise.

2010-03-03  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-toggle-reverse-mode): invoke
	`twittering-render-timeline' correctly.

	* twittering-mode.el (twittering-make-display-spec-for-icon): add
	2 pixels margin to icons in order to make the cursor stand out.

2010-03-01  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el: Add a support of direct messages (which was
	originally written by me in 2010-02-16)

	* twittering-mode.el (twittering-xmltree-to-status): Convert a XML
	tree retrieved with "direct_messages{,/sent}" request into a list
	of status alists which is retrieved from a standard timeline.
	(twittering-host-method-to-timeline-spec): Add condition for
	`direct_messages' and `direct_messages_sent'.
	(twittering-timeline-spec-to-host-method): Modify condition for
	`direct_messages' and `direct_messages_sent'.

	* twittering-mode.el (twittering-status-format): Modify the
	meaning of the specifier "%r" to display a recipient on both
	`direct_messages' and `direct_messages_sent'.

	* twittering-mode.el (twittering-format-status): Add `url'
	property for `direct_messages' and `direct_messages_sent'.
	(twittering-get-status-url): Change the second argument ID as
	optional.
	(twittering-make-clickable-status-datum): Call it.

2010-03-01  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-generate-formater): changed into
	a function.
	(twittering-generate-status-formater-base): likewise.
	(twittering-generate-format-status-function): likewise.

	* twittering-mode.el (twittering-find-curl-program): replace
	`find' with `memq' in order to execute this function without
	loading `cl-seq.el' .
	(twittering-start-http-session): likewise.
	(twittering-goto-next-thing): likewise.

2010-02-28  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-status-function-source):
	new variable for the status format used for generating
	`twittering-format-status-function'.
	(twittering-format-status-function): new variable for
	byte-compiled formating function.
	(twittering-parse-format-string): new function.
	(twittering-generate-formater): new macro for generating a lambda
	expression for given a format string and specifiers.
	(twittering-generate-status-formater-base): new macro for
	generating a lambda expression for given a format string.
	(twittering-generate-format-status-function): new macro for
	generating format status function.
	(twittering-update-status-format): new function for adjusting
	`twittering-format-status-function' with the current value of
	`twittering-status-format'.
	(twittering-mode-init-variables): invoke
	`twittering-update-status-format'.
	(twittering-render-timeline): call
	`twittering-update-status-format' before rendering statuses.
	(twittering-format-status): changed into a function receiving one
	argument. It only calls `twittering-format-status-function'.

2010-02-27  Satoshi Yatagawa  <yata_github@y.hauN.org>
	
	* twittering-mode.el (twittering-retweet): If `C-u' prefix is
	given, `twittering-use-native-retweet' is temporarily reversed
	before use.
	(twittering-follow): Handle a prefix `C-u' correctly.
	(twittering-favorite): Likewise.

	* twittering-mode.el (twittering-edit-cancel-status): Show a
	message when cancelling a request.
	(twittering-native-retweet): Likewise.
	(twittering-follow): Likewise.
	(twittering-favorite): Likewise.

2010-02-26  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-fill-string): Calculate a column
	with `fill-prefix'.

2010-02-25  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-format-status): Use the return
	value of the flet'ed function `attr' directly for the specifier
	"%L", forgotten in the 2010-02-18 changing.

	* twittering-mode.el (twittering-retrieve-image): Check the return
	value of `call-process-region'.
	(twittering-make-display-spec-for-icon): Check the return value of
	`twittering-retrieve-image'.

	* twittering-mode.el (twittering-format-status): Don't check
	`twittering-image-data-table' here.
	(twittering-format-status): Don't define `profile-image' as
	flet'ed function for the specifier "%i".

	* twittering-mode.el (twittering-get-tweets): Don't call
	`twittering-retrieve-image' here.
	 
	* twittering-mode.el (twittering-retrieve-image): Bind
	`url-show-status' locally to inhibit showing a progress message.
	(twittering-tinyurl-get): Likewise.

	* twittering-mode.el (twittering-image-type): Don't use the
	external command `file' because Emacs can display only an image
	which is recongnized by `image-type-from-data'.
	(twittering-retrieve-image): Don't look up
	`twittering-image-data-table' here.
	(twittering-make-display-spec-for-icon): Call
	`twittering-retrieve-image' only when `gethash' returns nil.

2010-02-22  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-atom-xmltree-to-status-datum):
	Call `twittering-decode-html-entities' to decode entities
	properly.

	* twittering-mode.el (twittering-get-error-message): Change the
	first argument to `buffer' from `proc'.
	(twittering-http-get-default-sentinel): Adjust callers.
	(twittering-http-get-list-index-sentinel): Likewise.
	(twittering-http-post-default-sentinel): Likewise.

2010-02-20  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-current-timeline-spec): Check
	`spec-string' is a string before calling
	`twittering-string-to-timeline-spec'.
	(twittering-get-and-render-timeline): Likewise.
	(twittering-read-timeline-spec-with-completion): Likewise.

	* twittering-mode.el (twittering-read-timeline-spec-with-completion):
	Return nil explicitly when `twittering-string-to-timeline-spec'
	return nil.

	* twittering-mode.el (twittering-retrieve-image): Use `unless'
	instead of `when'.
	(twittering-icon-mode): Likewise.
	(twittering-scroll-mode): Likewise.
	(twittering-jojo-mode): Likewise.
	(twittering-toggle-reverse-mode): Likewise.

2010-02-19  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-delete-ca-cert-file): New defun.
	(twittering-ensure-ca-cert): Add it as a hook into
	`kill-emacs-hook'.

	* twittering-mode.el (twittering-get-error-message): New defun to
	pickup an error message from a xmltree.
	(twittering-http-get-default-sentinel): Use it.
	(twittering-http-get-list-index-sentinel): Likewise.
	(twittering-http-post-default-sentinel): Likewise.

	* twittering-mode.el (twittering-http-get-list-index-sentinel):
	Call `twittering-get-response-body' instead of `xml-parse-region'.

2010-02-19  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-set-window-end): use
	`window-text-height' instead of `window-body-height' for Emacs21.

2010-02-18  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-native-retweet): Add a margin for
	wide characters.
	(twittering-favorite): Likewise.

	* twittering-mode.el (twittering-extract-timeline-spec): Delete an
	unused argument to `error'.

	* twittering-mode.el (twittering-format-status): Use the return
	value of the flet'ed function `attr' directly for the specifier
	"%r".
	(twittering-format-status): Reverse condition for the specifier
	"%R".

	* twittering-mode.el (twittering-lookup-http-start-function): New
	defun to decide a connection method from currently available
	methods.
	(twittering-connection-type-table): New defvar.
	(twittering-connection-type-order): Likewise.

	* twittering-mode.el (twittering-curl-program): New defvar to
	cache a result of `twittering-find-curl-program'.
	(twittering-start-http-session-curl-p): New defun.
	(twittering-start-http-session-curl-https-p): Likewise.
	(twittering-start-http-session-curl): Rename from
	`twittering-start-http-ssl-session'.
	(twittering-start-http-session-native): Rename from
	`twittering-start-http-non-ssl-session'.

2010-02-18  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-current-timeline-spec): return
	nil if `twittering-current-timeline-spec-string' returns nil.
	(twittering-current-timeline-data): return nil if
	`twittering-current-timeline-spec' returns nil.
	(twittering-extract-timeline-spec): raise an error if the argument
	`str' is nil.

2010-02-17  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-extract-timeline-spec): Check STR
	is non-nil first for avoiding an error caused by `string-match'.

	* twittering-mode.el (twittering-icon-mode): Add an argument "P"
	to `interactive'.
	(twittering-scroll-mode): Likewise.
	(twittering-jojo-mode): Likewise.
	(twittering-toggle-reverse-mode): Likewise.

2010-02-16  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-timeline-spec-to-string): Replace
	`-' with `_' in symbol name `direct-messages' and
	`direct-messages-sent' to fit the parameters of twitter API.
	(twittering-extract-timeline-spec): Likewise.
	(twittering-timeline-spec-primary-p): Likewise.
	(twittering-timeline-spec-to-host-method): Likewise.
	(twittering-timeline-spec-alias): Likewise in a	comment.

	* twittering-mode.el (twittering-icon-mode): Call
	`twittering-update-mode-line' and `twittering-render-timeline'
	only when mode was changed.
	(twittering-scroll-mode): Likewise.
	(twittering-jojo-mode): Likewise.
	(twittering-toggle-reverse-mode): Likewise.

2010-02-16  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-first-status-head): return
	nil if no statuses are rendered in the current buffer.
	(twittering-goto-first-status): go to the beginning of buffer if
	no statuses are rendered in the current buffer.
	(twittering-render-timeline): render tweets from the beginning of
	buffer if no statuses are rendered.

	* twittering-mode.el (twittering-reverse-mode): new variable for
	reverse alignment of tweets in timeline.
	(twittering-update-mode-line): add "reverse" to mode-line.
	(twittering-render-timeline): support reverse alignment of
	statuses.
	(twittering-toggle-reverse-mode): new interactive function to
	toggle reverse mode.
	(twittering-goto-next-status): support reverse mode.
	(twittering-goto-previous-status): likewise.
	(twittering-set-window-end): add new function.

2010-02-15  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get-list-index-sentinel):
	Get a listname from `slug' element which is only in `list' node.

2010-02-15  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-and-render-timeline): copy
	spec-string and clear its text properties.

	* twittering-mode.el (twittering-http-default-sentinel): use
	buffer object directly.
	(twittering-http-get-default-sentinel): likewise.

	* twittering-mode.el (twittering-current-timeline): keep the
	current timeline spec string.

	* twittering-mode.el (twittering-switch-timeline): adjust the
	current timeline spec string to the given `spec-string' even if
	they mean the same timeline.

	* twittering-mode.el (twittering-http-get-default-sentinel):
	invoke `twittering-render-timeline' only if necessary.
	(twittering-add-statuses-to-timeline-data): return newly retrieved
	statuses.

	* twittering-mode.el (twittering-render-timeline): receive
	`timeline-data' as an optional argument.
	(twittering-http-get-default-sentinel): invoke
	`twittering-render-timeline' with new statuses.

2010-02-14  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-usernames-from-timeline): new
	function for collecting user screen names in a timeline.
	(twittering-make-list-from-assoc): removed.
	(twittering-read-username-with-completion): use
	`twittering-get-usernames-from-timeline' instead of
	`twittering-make-list-from-assoc'.
	(twittering-read-timeline-spec-with-completion): likewise.

2010-02-14  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get-list-index-sentinel):
	Parse current-buffer as a xmltree.

2010-02-14  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-current-timeline-spec-string):
	new variable for storing the current timeline spec string.
	(twittering-last-requested-timeline-spec-string): removed.
	(twittering-last-retrieved-timeline-spec-string): removed.
	(twittering-set-current-timeline-spec-string): new function for
	referring the current timeline spec string.
	(twittering-current-timeline-spec-string): new function for
	referring the current timeline spec.
	(twittering-switch-timeline-if-necessary): new function for
	switching timeline.
	(twittering-mode-init-variables): explicitly initialize the
	current timeline spec.
	(twittering-http-get-default-sentinel): store the retrieved
	timeline even if it is not the current timeline.
	(twittering-get-and-render-timeline): switch timeline just after
	requested.
	(twittering-erase-old-statuses): reimplemented.
	(twittering-update-mode-line): use
	`twittering-current-timeline-spec-string'.
	(twittering-add-timeline-history): likewise.
	(twittering-current-timeline): likewise.
	(twittering-goto-next-status): likewise.

	* twittering-mode.el (twittering-add-statuses-to-timeline-data):
	integrated with `twittering-cache-status-datum'.
	(twittering-cache-status-datum): removed.

2010-02-13  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-mode-init-variables): make local
	variables by using `make-local-variable' in order to initialize
	the variables with the global values when invoking
	`twittering-mode'. You can initialize `twittering-icon-mode',
	`twittering-jojo-mode' and `twittering-scroll-mode' by using
	`setq' in your `.emacs'.

2010-02-12  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-status): remove a newline
	from `icon-string' that underlies the icon image.
	(twittering-status-format): add a newline to the default value in
	order to keep the interval of displayed tweets.

2010-02-12  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-tweets): Add optional
	argument `since_id'.
	(twittering-get-and-render-timeline): Adjust callers.
	(twittering-get-tweets): Set parameter `since_id' instead of
	`since' because twitter API had dropped support for `since'
	parameter on 2009-04-08.
	(twittering-http-get-default-sentinel): Modify the condition for
	if retrieving statuses is nil.
	(twittering-erase-old-statuses): Don't add parameter `since'.
	(twittering-status-to-status-datum): No longer use
	`twittering-timeline-last-update'.
	(twittering-get-and-render-timeline): Likewise.
	(twittering-timeline-last-update): Delete variable.
	(twittering-local-strftime, twittering-global-strftime): Delete
	functions.
	(twittering-setftime): Delete function.

	* twittering-mode.el (twittering-get-status-from-http-response):
	No longer make a reverse list.
	(twittering-http-get-default-sentinel): Adjust callers.

2010-02-12  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el
	(twittering-find-processes-for-timeline-spec): new function for
	finding processes retrieving a specific timeline spec.
	(twittering-remove-inactive-processes): new function for removing
	inactive processes from `twittering-process-info-alist'.
	(twittering-process-active-p): new function for checking whether
	the processes for a specific timeline spec are active or not.
	(twittering-get-and-render-timeline): use
	`twittering-process-active-p' instead of referring
	`twittering-process-info-alist' directly.

	* twittering-mode.el (twittering-http-get-default-sentinel): run
	`twittering-new-tweets-hook' even if the retrieval is
	non-interactive.

	* twittering-mode.el (twittering-timeline-data): removed.
	(twittering-current-timeline-spec): new function for the current
	timeline spec.
	(twittering-current-timeline-data): new function for the current
	timeline data.
	(twittering-remove-timeline-data): new function for clearing a
	specific timeline data from `twittering-timeline-data-table`.
	(twittering-add-statuses-to-timeline-data): new function for
	adding statuses to `twittering-timeline-data-table'.
	(twittering-http-get-default-sentinel): use
	`twittering-add-statuses-to-timeline-data'.
	(twittering-cache-status-datum): change the third argument into
	non-optional because the global `twittering-timeline-data' is
	obsoleted.
	(twittering-get-and-render-timeline): do not modify
	`twittering-timeline-data'.
	(twittering-render-timeline): use
	`twittering-current-timeline-data' instead of
	`twittering-timeline-data'.
	(twittering-erase-old-statuses): likewise.
	(twittering-read-username-with-completion): likewise.
	(twittering-read-timeline-spec-with-completion): likewise.

2010-02-11  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-fill-string): load "kinsoku.el"
	in advance if necessary.

2010-02-11  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el: No longer clear fetched timeline when
	switching to another timeline.

	* twittering-mode.el (twittering-timeline-data-table): New defvar.
	(twittering-http-get-default-sentinel): Save current timeline into
	`twittering-timeline-data-table' when retrieving it successfully.
	(twittering-get-and-render-timeline): Load target timeline from
	`twittering-timeline-data-table' when switching to another
	timeline.

2010-02-10  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-status-not-blank-p): Fix the
	regexp for case of "text @user".

	* test/test-twittering-mode.el (test-status-not-blank-p): Add a
	testcase.

	* twittering-mode.el (twittering-setup-proxy): Return t explicitly
	when the proxy related configurations are consistent.
	(twittering-toggle-proxy): Call `twittering-setup-proxy'.

2010-02-09  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get-default-sentinel): Get a
	buffer associate with the process from calling `process-buffer'
	instead of `current-buffer'.

	* twittering-mode.el (twittering-edit-cancel-status): Confirm
	before calling `twittering-edit-close' when an edit buffer was
	modified.
	(twittering-update-status-from-pop-up-buffer): Mark an edit buffer
	as unmodified.

	* twittering-mode.el (twittering-edit-length-check): Calculate
	length of a tweet with a sign string.

	* twittering-mode.el (twittering-native-retweet): Truncate a tweet
	by width instead of length.
	(twittering-favorite): Likewise.

	* twittering-mode.el (twittering-http-default-sentinel): Get a
	buffer associate with the process from calling `process-buffer'
	instead of taking from an argument.
	(twittering-http-default-sentinel): Delete an unnecessary
	argument.
	(twittering-start-http-ssl-session): Adjust callers.
	(twittering-start-http-non-ssl-session): Likewise.

2010-02-09  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-goto-previous-status): simplified.

	* twittering-mode.el (twittering-goto-next-status): retrieve
	additional statuses if the function is called at the end of the
	buffer.

	* twittering-mode.el (twittering-render-timeline): use `insert'
	when inserting a status at the end of the buffer in order to keep
	the marker pointing the end of the buffer.

	* twittering-mode.el (twittering-render-timeline): move the
	position correctly even if the buffer is invisible.

2010-02-08  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-default-sentinel): Delete a
	call to `twittering-release-process' in the BODYFORM to avoid a
	double release.

2010-02-08  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-http-default-sentinel): call
	`twittering-release-process' even if some errors happen.
	(twittering-http-get-default-sentinel): remove invocation of
	`twittering-release-process'.

2010-02-08  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get-default-sentinel): Call
	`twittering-release-process' when status code is not equal to
	"200", forgotten in the 2010-02-06 changing.

	* twittering-mode.el (twittering-status-to-status-datum): Change
	`regex-index' variable to local scope from global one.
	(twittering-status-to-status-datum): Rename `regex-index' to
	`regexp-index'.

	* twittering-mode.el (debug-print): Reduce redundant calls of
	`insert' because it can take multiple arguments.
	(debug-printf): Remove an unnecessary call to `concat' because
	`insert' can take multiple arguments.

	* twittering-mode.el (twittering-extract-timeline-spec): Fix the
	regexp for "search" timeline spec; same as for "filter".

	* twittering-mode.el (twittering-make-clickable-status-datum):
	When trying to add a text property to `source', check it is
	non-nil first for avoiding an error caused by `string-match'.

2010-02-07  Tadashi MATSUO  <tad@mymail.twin.jp>

	* test/test-twittering-mode.el (test-format-status): replace the
	format specifier "%t" with "%T".

	* twittering-mode.el (twittering-extract-timeline-spec): fix the
	regexp for "filter" timeline spec.
	* test/test-twittering-mode.el (timeline-spec): add a test for
	trailing backslashes.

	* twittering-mode.el (twittering-extract-timeline-spec): add error
	messages for some conditions.

	* twittering-mode.el
	(twittering-read-timeline-spec-with-completion): fix the regexp
	for judging whether a list name is required or not.

	* twittering-mode.el
	(twittering-read-timeline-spec-with-completion): catch errors on
	interpreting timeline spec string.

2010-02-07  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get): Add an optional
	argument for a response data format.
	(twittering-http-post): Likewise.
	(twittering-get-list-index): Adjust callers.
	(twittering-http-post): Delete unused argument `contents'.

	* twittering-mode.el (twittering-http-get-default-sentinel): Check
	status-code here instead of `twittering-http-default-sentinel'.
	(twittering-http-get-list-index-sentinel): Likewise.
	(twittering-http-post-default-sentinel): Likewise.
	(twittering-http-default-sentinel): Adjust callers.

	* twittering-mode.el (twittering-http-get-list-index-sentinel):
	Set a null string explicitly if user does not have a list.

2010-02-06  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-default-sentinel): New defun
	to share code between `twittering-http-get-default-sentinel',
	`twittering-http-get-list-index-sentinel', and
	`twittering-http-post-default-sentinel'.
	(twittering-http-get-default-sentinel): Adjust function.
	(twittering-http-get-list-index-sentinel): Likewise.
	(twittering-http-post-default-sentinel): Likewise.
	(twittering-start-http-ssl-session): Adjust callers.
	(twittering-start-http-non-ssl-session): Likewise.

2010-02-06  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-edit-post-status): Don't add
	parameter `in_reply_to_status_id' if the tweet does not begin
	with `@'.
	(twittering-update-status-from-minibuffer): Likewise.

	* twittering-mode.el (twittering-status-not-blank-p): Fix a regexp
	pattern for USER.
	(twittering-status-to-status-datum): Likewise.
	(twittering-http-get-list-index-sentinel): Change a regexp pattern
	for LISTNAME.

2010-02-06  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-and-render-timeline): ignore
	non-interactive request if a process is waiting for responses.

	* twittering-mode.el (twittering-mode): set `buffer-read-only' to
	t explicitly.
	(twittering-render-timeline): bind `buffer-read-only' with `let*'
	locally.

2010-02-05  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-update-status-from-pop-up-buffer):
	Use the current hashtag if set; same as
	`twittering-update-status-from-minibuffer'.

2010-02-05  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-status): replace a lacked
	property by an empty string.

	* twittering-mode.el (twittering-get-status-from-http-response):
	use ATOM format instead of JSON format.
	(twittering-atom-xmltree-to-status-datum): new function for
	converting an entry of ATOM into a status alist.
	(twittering-atom-xmltree-to-status): new function for converting a
	XML tree of ATOM into a list of status alists.
	(twittering-json-to-status-datum): removed.
	(twittering-json-to-status): removed.
	(twittering-get-tweets): retrieve "search" timeline in ATOM format
	instead of JSON format.
	(twittering-get-and-render-timeline): remove dependence on
	`json.el'.
	(twittering-search): likewise.

2010-02-04  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-status-to-status-datum): assign a
	retweet the ID issued when it is retweeted. `source-id', which is
	the ID of the original tweet, is also assigned to the retweet.
	(twittering-cache-status-datum): do not register multiple retweets
	referring the same tweet.

	* twittering-mode.el (twittering-http-get-default-sentinel): make
	a hash table for already retrieved IDs.
	(twittering-cache-status-datum): use a hash table of IDs to avoid
	registering redundant tweets.

	* twittering-mode.el (twittering-status-to-status-datum): fix
	lacked binding of `source-id' and `source-created-at'.

	* twittering-mode.el (twittering-cache-status-datum): register IDs
	with ID-TABLE when a tweet is added to DATA-VAR. This prevents
	duplicated tweets in one retrieval from being registered.

2010-02-03  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-http-get-default-sentinel): sort
	`twittering-timeline-data' by ID.

2010-02-03  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-status-to-status-datum): Don't
	rewrite `created-at' by a same name element in `retweeted_status'
	node.

2010-02-02  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-response-body): Add an
	optional second argument to share code between this and
	`twittering-get-response-body-string'.
	(twittering-get-response-body-string): Delete function.
	(twittering-get-status-from-http-response): Adjust callers.

2010-02-02  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-http-get-default-sentinel): use
	`twittering-get-status-from-http-response'.
	(twittering-get-status-from-http-response): new function for
	extracting statuses from HTTP response.
	(twittering-get-tweets): use
	`twittering-http-get-default-sentinel' for the "search" timeline
	spec.
	(twittering-http-get-search-sentinel): removed.

2010-01-31  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-http-get-default-sentinel):
	rearranged.

	* twittering-mode.el (twittering-start-http-ssl-session): return
	the process object.
	(twittering-start-http-non-ssl-session): likewise.
	(twittering-get-tweets): likewise.

	* twittering-mode.el (twittering-process-info-alist): new variable
	for managing active process and timeline spec being retrieved by
	the process.
	(twittering-register-process): new function for registering a pair
	of process and timeline spec.
	(twittering-release-process): new function for releasing a process.
	(twittering-get-timeline-spec-from-process): new function for
	getting timeline spec retrieved by the given process.
	(twittering-http-get-default-sentinel): discard statuses if
	the retrieved spec differs from the last requested one.
	(twittering-get-and-render-timeline): register a pair of the
	requested timeline spec and process for retrieving it.

2010-01-30  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-fill-string): use `frame-width'
	only if no windows display the `*twittering*' buffer.

	* twittering-mode.el (twittering-for-each-property-region): new
	function to process each region with a certain property.

	* twittering-mode.el (twittering-timer-for-redisplaying): new
	variable for timer of redisplaying statuses.
	(twittering-timer-interval-for-redisplaying): new variable
	specifying the interval of redisplaying statuses.
	(twittering-redisplay-status-on-buffer): new function to redisplay
	statuses on buffer.
	(twittering-format-status): append `need-to-be-update' property to
	the specifier "%@" and "%FILL{...}" including "%@".
	(twittering-start): start the timer of redisplaying statuses.
	(twittering-stop): stop the timer of redisplaying statuses.

	* twittering-mode.el (twittering-make-passed-time-string): new
	function to generate a string displayed as passed time of a
	status.
	(twittering-format-status): use
	`twittering-make-passed-time-string' for the specifier "%@".

2010-01-29  Daiji Kanematsu  <daijik@gmail.com>

	* twittering-mode.el (toplevel): add `easy-menu-define' in order
	to add the menu `Twitter'.

2010-01-29  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-fill-string): Add an extra
	argument to `min' for avoiding error "Wrong number of arguments:
	min, 0".

	* twittering-mode.el (twittering-extract-timeline-spec): On
	search-mode, return a spec only when the length of `escaped-query'
	is greater than zero.

2010-01-28  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-render-timeline): simplified by
	using `insert-before-markers' instead of `insert'. This removes
	additional movement of points for scroll-mode.

2010-01-26  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-status-to-status-datum): Add
	`original-user-name' and `original-user-screen-name' to return
	an alist; fix an incomplete merge on 2010-01-22.
	(twittering-json-to-status-datum): Likewise.

	* twittering-mode.el (twittering-json-to-status-datum): Use
	`retweeted-status-data' as variable instead of `retweeted-status';
	same as `twittering-status-to-status-datum'.

2010-01-26  Satoshi Yatagawa  <yata_github@y.hauN.org>
	
	* twittering-mode.el (toplevel): Require 'unicode explicitly on
	Emacs21. See a comment of `twittering-ucs-to-char' for more
	details.
	(twittering-ucs-to-char): Check (featurep 'unicode) instead of
	(featurep 'mucs).
	(twittering-ucs-to-char): Update comment.

	* twittering-mode.el (toplevel): On Emacs21, always call
	`set-terminal-coding-system'.

2010-01-25  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-format-status): Call
	`twittering-make-display-spec-for-icon' only when `window-system'
	is non-nil to avoid error "Non-X frame used" under Emacs which is
	using a text-only terminal.

2010-01-25  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-extract-timeline-spec): add new
	timeline spec string for hashtag.

2010-01-23  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-json-to-status-datum): Don't
	refer to `twittering-use-native-retweet'; same as
	`twittering-status-to-status-datum'.

2010-01-23  Naohiro Aota  <naota@elisp.net>

	* twittering-mode.el (twittering-home-timeline): Add new funciton.

2010-01-23  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-fill-string): adjust
	`fill-column' to the minimum width of windows displaying
	`*twittering*' buffer. Thanks to Naohiro Aota.

	* twittering-mode.el (twittering-render-timeline): take account of
	multiple windows displaying `*twittering*' buffer.
	Thanks to Naohiro Aota.

	* twittering-mode.el (twittering-format-status): fix an incorrect
	index on filling text for the specifier "%t".

2010-01-24  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-extract-timeline-spec): support
	functional alias.

2010-01-23  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-timeline-spec-to-host-method):
	return query string as a element of returned list.
	(twittering-host-method-to-timeline-spec): receive query string as
	a optional argument.
	(twittering-http-get): remove special adjustment for search
	method, which is now unnecessary.
	(twittering-get-tweets): always receive query string as an
	argument for search method.
	(twittering-get-search): removed.
	(twittering-get-and-render-timeline): send query string if the
	given spec is `search'.
	(twittering-search): execute search via
	`twittering-get-and-render-timeline'.

	* twittering-mode.el (twittering-timeline-spec-to-string): modify
	the string format of `search' spec.
	(twittering-extract-timeline-spec): likewise.

2010-01-22  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-initial-timeline-spec-string):
	Change value to ":home" from ":friends".

	* twittering-mode.el (twittering-status-to-status-datum): Don't
	refer to `twittering-use-native-retweet'.

	* twittering-mode.el (twittering-http-get-list-index-sentinel):
	Fix a reference to `mes' as a variable, not as a function.

2010-01-22  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-fill-string): add new function
	for generating filled string.
	(twittering-format-status): use `twittering-fill-string'.
	(twittering-render-timeline): remove unnecessary binding of the
	variable `fill-column'.

2010-01-22  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el: Add search support (which was originally
	written by Kensuke Matsuzaki in December 2009)

	* twittering-mode.el (twittering-json-to-status-datum): Add code
	for native retweets.
	(twittering-http-get-search-sentinel): Sync with HEAD.
	(twittering-get-response-body-string): Likewise.

	* twittering-mode.el (twittering-get-tweets): Rewrite to match
	this to the new-timeline spec.
	(twittering-get-search): Call `twittering-get-tweets' instead of
	`twittering-http-get'
	(twittering-search): Call `twittering-get-search' instead of
	`twittering-get-tweets'.

	* twittering-mode.el (twittering-timeline-spec-to-string): Add a
	condition for search-mode.
	(twittering-extract-timeline-spec): Likewise.
	(twittering-timeline-spec-to-host-method): Likewise.
	(twittering-host-method-to-timeline-spec): Likewise.

	* twittering-mode.el (twittering-http-get): Add an adjusting code.
	In search-mode, a `method' variable is now contains a query word
	for internal use. For this reason, we must adjust it before pass
	it into `twittering-start-http-session'.

2010-01-21  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el: Add a fail statement to work again under
	Emacs21 without Mule-UCS.
	(toplevel): Don't abort if require failed.
	(twittering-ucs-to-char): Return `?' explicitly if `decode-char'
	failed.

	* twittering-mode.el (twittering-get-tweets): Rename from
	`twittering-get-twits'.
	(twittering-get-and-render-timeline): Adjust callers.
	(twittering-new-tweets-hook): Fix a docstring.

2010-01-21  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-render-timeline): reduce
	redundant calls of `goto-char'.

	* twittering-mode.el (twittering-render-timeline): fix logic for
	inserting statuses not to duplicate the last status.

2010-01-20  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get-default-sentinel): Show
	the reason phrase with status code if status code is not equal to
	"200"; same as `twittering-http-post-default-sentinel'.
	(twittering-http-get-list-index-sentinel): Likewise.

	* twittering-mode.el (twittering-http-status-line-regexp): New
	defconst to share this between several functions. The regexp
	pattern to obey to RFC 2616.
	(twittering-http-get-default-sentinel): Use it.
	(twittering-http-post-default-sentinel): Likewise.
	(twittering-http-get-list-index-sentinel): Likewise.

	* twittering-mode.el (twittering-tinyurl-get): Remove an
	unnecessary call to `concat'.

	* twittering-mode.el (twittering-update-jojo): Make a tweet by
	`twittering-ucs-to-char' instead of `string-as-multibyte'.

2010-01-19  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-first-status-head): add.
	(twittering-goto-first-status): add.
	(twittering-mode-map): bind `twittering-goto-first-status' to "H"
	instead of `begininng-of-buffer'.
	(twittering-render-timeline): use `twittering-goto-first-status'.

2010-01-18  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-ucs-to-char): Add a workaround
	with navi2ch prior to 1.8.3, which is currently last release
	version as of 2010-01-18. The problem is fixed in navi2ch dated
	2010-01-16 or later, but not released yet.

2010-01-17  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-status): fix the regexp
	for the specifier "%FILL{...}" to accept pairs of braces inside of
	"{...}".

	* twittering-mode.el (twittering-format-status): add new format
	decorator "%FACE[face-name]{...}", which decorates braced strings
	with the specified face.

	* twittering-mode.el (twittering-render-timeline): support
	additional rendering.
	(twittering-http-get-default-sentinel): send the additional
	argument `same-timeline' to `twittering-render-timeline'.
	(twittering-status-id<): add new function for comparing two ids.
	(twittering-status-id=): likewise.

2010-01-16  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-response-header): Delete an
	adjusting code bacause `with-current-buffer' that can accept both
	a buffer and a buffer name.
	(twittering-get-response-body): Likewise.

2010-01-16  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-status): fix incorrect
	destructive modification of the replacement table for the
	specifier "%FILL{...}".

2010-01-16  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-edit-setup-help): use 0-witdh
	overlay to display help.
	(twittering-edit-mode, twittering-edit-post-status): do not use
	newline chars for help-overlay anymore.
	(twittering-edit-post-status): probihit posting over 140 chars
	tweets.

2010-01-15  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el: changed URL

2010-01-15  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-edit-buffer): New defvar.
	(twittering-update-status-from-pop-up-buffer): Use it.

	* twittering-mode.el (twittering-buffer-active-p): New defun.
	(twittering-http-get-default-sentinel): Call it to show a
	non-critical message on minibuffer only when current buffer is
	twittering-mode related buffer.
	(twittering-http-post-default-sentinel): Likewise.
	(twittering-get-response-body): Likewise.

	* twittering-mode.el (twittering-buffer-active-p): Delete an
	unnecessary code which is added for keep a backward compatibility.

2010-01-15  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-next-status-head): add a
	function finding the next head of status with `id' property. This
	replaces `twittering-get-next-username-face-pos'.
	(twittering-goto-next-status): use
	`twittering-get-next-status-head' instead of
	`twittering-get-next-username-face-pos'.
	(twittering-goto-next-status-of-user): likewise.

	* twittering-mode.el (twittering-get-previous-status-head): add a
	function finding the previous head of status with `id'
	property. This replaces
	`twittering-get-previous-username-face-pos'.
	(twittering-goto-previous-status): use
	`twittering-get-previous-status-head' instead of
	`twittering-get-previous-username-face-pos'.
	(twittering-goto-previous-status-of-user): likewise.

2010-01-15  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-mode-identity): add. Identify
	'twittering-mode.el' by $Id$ tag.

2010-01-14  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-remove-duplicates): check
	availability of `delete-dups' by `fboundp' instead of
	`emacs-major-version'.

2010-01-14  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-format-status): add docstring

2010-01-15  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-update-status-function): add
	(twittering-update-status-from-pop-up-buffer): renamed from
	twittering-edit-status
	(twittering-update-status-interactive, twittering-enter)
	(twittering-organic-retweet, twittering-direct-message): use
	twittering-update-status-function
	(twittering-mode-map): bind 'u' to
	twittering-update-status-interactive

2010-01-13  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-string): fix the search of
	the key string following the prefix from a string including
	newlines.

	* twittering-mode.el (twittering-format-status): remove a
	newline as a separator of tweets.
	(twittering-render-timeline): insert a newline as a separator of
	tweets.

	* twittering-mode.el (twittering-format-status): add new format
	specifier "%T", which is converted to the raw text.

	* twittering-mode.el (twittering-format-status): add new format
	specifier "%FILL{...}", which applies `fill-region-as-paragraph'
	to the strings in braces.

	* twittering-mode.el (twittering-status-format): use '%FILL{...}'
	and '%T' for the default value instead of '%t'.

2010-01-12  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/run-test.sh (exit_status): add 'emacs' command to test
	target emacsen

2010-01-12  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-status): fill the text
	with strings following "%t".

2010-01-12  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/test-twittering-mode.el (test-icon-mode): removed use of
	twittering-tmp-dir

2010-01-12  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-start-http-session): Call
	`twittering-find-curl-program' only when `twittering-use-ssl' is
	non-nil.

	* twittering-mode.el (twittering-wget-buffer): Delete function.
	(twittering-wget-buffer): Delete variable.

2010-01-11  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-convert-program): initialize
	without confirming whether `convert' comes from ImageMagick.
	(twittering-mode-init-variables): confirm whether the found
	`convert' is a part of ImageMagick or GraphicsMagick if
	`twittering-use-convert' is non-nil. If the program does not come
	from ImageMagick or GraphicsMagick, `twittering-use-convert' is
	changed into nil.

2010-01-10  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-convert-program): checks whether
	'convert' is a part of ImageMagick. Windows XP has 'convert.exe'
	in WINDOWS/system32, which is a partition converter.
	(twittering-use-convert): use the value of
	twittering-convert-program

2010-01-11  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-status-format): modify the
	meaning of the specifier "%t" to remove implicit filling as a
	paragraph.
	(twittering-render-timeline): remove implicit filling a text as a
	paragraph. In addition, a newline as a delimiter is added by
	`twittering-format-status'.
	(twittering-format-status): with "%t", fill a text as a paragraph.
	This function adds a newline at the end of status instead of
	`twittering-render-timeline'. Then, the newline as a delimiter
	also has the same text properties as the body of the tweet.

2010-01-10  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-remove-duplicates): add for
	portability.
	(twittering-completing-read): add a modified version of
	`completing-read' that can accept candidates as a list of a string
	on Emacs21.
	(twittering-set-current-hashtag): use `twittering-completing-read'
	instead of `completing-read'.
	(twittering-read-username-with-completion): likewise.
	(twittering-read-list-name): likewise.
	(twittering-read-timeline-spec-with-completion): likewise.

2010-01-10  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/test-twittering-mode.el (test-status-not-blank-p): add a
	testcase reproducing the bug of twittering-status-not-blank-p.

	* twittering-mode.el (twittering-use-native-retweet): renamed from
	twittering-use-native-retweets
	(twittering-status-not-blank-p): bug fix: return nil if a status
	is ended by '@foo'.
	
	* twittering-mode.el (twittering-edit-post-status): add trailing
	newlines to new history element because help-overlay need it.

	* twittering-mode.el (twittering-make-display-spec-for-icon):
	returns nil if the type of the image is not supported.

2010-01-09  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-status-to-status-datum): Change
	retweet related variables to local scope from global one.

	* twittering-mode.el (twittering-extract-timeline-spec): Change
	syntax of error message to fit the GNU Emacs Lisp convention.
	(twittering-timeline-spec-to-host-method): Likewise.
	(twittering-get-and-render-timeline): Likewise.

	* twittering-mode.el (twittering-extract-timeline-spec): Remove an
	unnecessary call to `format' because all arguments of `error' pass
	to `format'.
	(twittering-timeline-spec-to-host-method): Likewise.
	(twittering-get-and-render-timeline): Likewise.

	* twittering-mode.el (twittering-read-username-with-completion):
	Convert a list of username strings to an alist before calling
	`completing-read' to work on Emacs21; same as
	`twittering-read-timeline-spec-with-completion'.

	* twittering-mode.el (twittering-icon-path): Delete function.

2010-01-09  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-edit-mode): setup
	twittering-warning-overlay and after-change-functions
	(twittering-edit-length-check): add. check length and set warning
	overlay if the length exceeds 140 chars.
	(twittering-edit-mode-map): fix keymap
	(twittering-edit-extract-status): add. extract status from pop-up
	buffer by removing trailing whitespace chars.
	(twittering-edit-post-status): use edit-extract-status.
	(twittering-edit-status): takes reply-to-id as a second argument
	(twittering-enter, twittering-organic-retweet)
	(twittering-direct-message, twittering-reply-to-user): use
	twittering-edit-status
	(twittering-edit-post-status): bug fix.

2010-01-09  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-http-get-list-index-sentinel):
	`save-excursion' had no effect because of the following
	`set-buffer'. This is fixed so that `save-excursion' saves the
	state of `temp-buffer'.
	(twittering-get-response-header): Likewise.
	(twittering-get-response-body): Likewise.
	(twittering-tinyurl-get): Likewise.
	(twittering-tinyurl-get): `buffer' are killed even if
	`search-forward-regexp' fails.

2010-01-09  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-edit-setup-help): add to setup
	help overlay in pop-up buffer
	(twittering-edit-next-history, twittering-edit-previous-history):
	use twittering-edit-setup-help

2010-01-08  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-percent-encode): bug fix:
	'\n','\r','\t' were not encoded correctly.

2010-01-08  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-use-show-minibuffer-length): Add
	suggestion into a docstring.

2010-01-08  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-status-not-blank-p): bug fix:
	always return nil with strings with trailing newline.
	(twittering-edit-next-history): add.
	(twittering-edit-previous-history, twittering-edit-history): add
	history for pop-up buffer
	(twittering-edit-mode-map): defined key for next/previous-history
	(twittering-edit-mode): initialize local variables for history
	(twittering-edit-mode): setup help string overlay
	(twittering-edit-post-status): don't close buffer if tweet is
	empty

2010-01-08  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-image-type): Try to detect image
	type with `image-type-from-data' at first.
	(twittering-retrieve-image): Do not invoke `convert' if Emacs
	supports the image type and resize is not required.

2010-01-08  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-tmp-dir): delete
	(twittering-icon-mode): don't make temp dir
	(twittering-image-data-table): add. hash table where image data
	are stored.  key:(<url> . <size>),value:(<type> . <binary-data>)
	(twittering-use-wget): delete
	(twittering-image-type): re-implemented. Now it just returns a
	type of a given image.
	(twittering-make-display-spec-for-icon): Now it receives image URL
	as an argument.
	(twittering-retrieve-image): Now it receives image URL as an
	argument.
	(twittering-url-copy-file-async): delete
	(twittering-retrieve-image-without-wget): delete
	(twittering-retrieve-image-with-wget): delete
	(twittering-retrieve-image): changed default image type from png
	to xpm
	(twittering-image-type): bug fix in the case of bitmap
	(twittering-retrieve-image): handle error of determining image
	type.
	(twittering-image-type): let case-fold-search is t.

	* url-emacs21/*: add url library for emacs21

2010-01-07  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-url-reserved-p): bug fix: some
	reserved characters considered unreserved. Thanks to IMAI
	Toshiyuki
	(twittering-cert-file): add
	(twittering-ensure-ca-cert): generate temporary file for CA certificate

2010-01-06  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-get-default-sentinel): Move
	`debug-printf' to outside of `unwind-protect' because we expect
	that mostly code of this function should be executed by way of
	BODYFORM of `unwind-protect', not UNWINDFORM.
	(twittering-http-post-default-sentinel): Likewise.

	* twittering-mode.el (twittering-http-get-list-index-sentinel): Add 
	`debug-printf' same as `twittering-http-get-default-sentinel'.

	* twittering-mode.el (twittering-status-not-blank-p): Fix and
	modify a regexp pattern.

2010-01-06  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el
	(twittering-read-timeline-spec-with-completion): return nil for
	an invalid timeline spec string. The function is unified with
	`twittering-read-timeline-spec-string-with-completion'. If the
	argument `as-string' is non-nil, it returns a spec string.
	(twittering-update-mode-line): the delimiter followed by a
	timeline spec string on mode-line is changed to a whitespace.
	(twittering-timeline-spec-bookmark): new variable for timeline
	spec bookmark.
	(twittering-extract-timeline-spec): support timeline spec
	bookmark.
	(twittering-equal-string-as-timeline): add.
	(twittering-get-and-render-timeline): accept a timeline spec
	string as well as a S-expression.
	`twittering-last-requested-timeline-spec' will be updated even if
	the requested spec essentially equals to the current one.
	(twittering-initial-timeline-spec): replaced by
	`twittering-initial-timeline-spec-string'.
	(twittering-last-requested-timeline-spec): replaced by
	`twittering-last-requested-timeline-spec-string'.
	(twittering-last-retrieved-timeline-spec): replaced by
	`twittering-last-retrieved-timeline-spec-string'.
	(twittering-initial-timeline-spec-string): added to replace
	`twittering-initial-timeline-spec'.
	(twittering-last-requested-timeline-spec-string): added to replace
	`twittering-last-requested-timeline-spec'.
	(twittering-last-retrieved-timeline-spec-string): added to replace
	`twittering-last-retrieved-timeline-spec'.
	(twittering-last-timeline-spec-string): removed.
	(twittering-visit-timeline): call
	`twittering-get-and-render-timeline' with a timeline spec string
	just as it has been input by the user.
	(twittering-extract-timeline-spec): `bookmark' is renamed `alias'.
	(twittering-timeline-spec-alias): this variable replaces
	`twittering-timeline-spec-bookmark'.

	* test/test-twittering-mode.el (timeline-spec): add tests of
	timeline spec normalization.

2010-01-04  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-response-header): Change
	syntax of error message to fit the GNU Emacs Lisp convention.
	(twittering-get-response-body): Likewise.
	(twittering-tinyurl-get): Likewise.

	* twittering-mode.el (twittering-start-http-session): Change
	syntax of question message to fit the GNU Emacs Lisp convention.

	* twittering-mode.el (twittering-user-agent-default-function): Use
	`format' instead of `concat' to easy understand.
	(twittering-sign-string-default-function): Likewise.

	* twittering-mode.el (twittering-start-http-session): Remove an
	unnecessary call to `format' because all arguments of `error' pass
	to `format'.
	(twittering-make-http-request): Likewise.
	(twittering-url-copy-file-async): Likewise.

2010-01-04  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-last-requested-timeline-spec):
	new variable storing the last requested timeline spec.
	(twittering-last-retrieved-timeline-spec): new variable storing
	the last successfully retrieved timeline spec.
	(twittering-last-timeline-retrieved): removed.
	(twittering-last-host): removed.
	(twittering-last-method): removed.
	(twittering-convert-last-timeline-retrieved): removed.
	(twittering-last-timeline-spec): removed.
	(twittering-get-twits): do not update the information of the last
	request.
	(twittering-get-and-render-timeline): update the information of
	the last request instead of `twittering-get-twits'.
	(twittering-current-timeline): replace `twittering-get-twits' by
	`twittering-get-and-render-timeline'.
	(twittering-erase-old-statuses): replace `twittering-get-twits' by
	`twittering-get-and-render-timeline'.
	(twittering-initial-timeline-spec): new variable.

2010-01-03  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el, test/test-twittering-mode.el: rebase the
	`timeline-spec' branch. The new timeline spec based on
	S-expression is introduced.

	* twittering-mode.el (twittering-timeline-spec-to-string): add.
	(twittering-extract-timeline-spec): add.
	(twittering-string-to-timeline-spec): add.
	(twittering-timeline-spec-singlep): add.
	(twittering-timeline-spec-to-host-method): add.
	(twittering-host-method-to-timeline-spec): add.
	(twittering-last-timeline-spec): add.
	(twittering-last-timeline-spec-string)
	(twittering-add-timeline-history): modified for new timeline spec.
	(twittering-update-mode-line): modified for new timeline spec.
	(twittering-get-twits-with-timeline-spec): modified for new
	timeline spec.
	(twittering-read-timeline-spec-string-with-completion): add.
	(twittering-read-timeline-spec-with-completion): modified for new
	timeline spec.
	(twittering-get-timeline, twittering-get-list): replaced with
	`twittering-get-twits-with-timeline-spec'.
	(twittering-get-and-render-timeline): renamed from
	`twittering-get-twits-with-timeline-spec'.

	* test/test-twittering-mode.el (timeline-spec): add tests for new
	timeline spec.

2010-01-03  Michael D. Ivey  <ivey@gweezlebur.com>

	* twittering-mode.el (twittering-retweet): Add support for native
	retweets

2010-01-03  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-tinyurl-get): more descriptive
	error message
	(twittering-url-copy-file-async): more descriptive error message

2010-01-02  Alberto Garcia  <agarcia@igalia.com>

	* twittering-mode.el (twittering-start-http-ssl-session):
	Set noninteractive using lexical-let so the HTTP sentinel can
	receive its value and `twittering-new-tweets-hook' works
	correctly.

2010-01-02  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-use-show-minibuffer-length): New
	defvar to enable/disable a function which is show the number of
	charactors in minibuffer.
	(twittering-update-status-from-minibuffer): Refer it to add/remove
	hooks.

2009-12-30  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/server.rb: add. Twitter API and Proxy mock server

	* twittering-mode.el (twittering-get-response-header)
	(twittering-get-response-body): Raise an error on broken
	responses.

2009-12-30  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-get-response-header): On failure,
	the function returns an empty string instead of the whole contents
	of the buffer.
	(twittering-get-response-body): When the function fails to find
	the tail of header, it returns nil without trying to parse a
	region.
	(twittering-find-proxy): add new function for
	finding proxy.
	(twittering-setup-proxy): add new function for configuring
	`twittering-proxy-server' and `twittering-proxy-port' if they have
	not been configured yet.
	(twittering-mode-init-variables): invokes
	`twittering-setup-proxy'.

2009-12-30  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-response-header): Correct a
	reference to an unbound object. This problem was found by highmt.

2009-12-30  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/el-test-runner.el (with-network): add macro. body of
	with-network is executed only when 'NETWORK' env var is set.
	* twittering-mode.el (twittering-image-type): No temporary files
	for resing images. Use standard in/out and temporary buffers
	instead.
	(twittering-convert-fix-size): set 48px as the default size of
	icon images.

2009-12-30  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-image-type): Don't generate
	redundant temporary files. The image format is specified by
	the command line instead of a file extension.

2009-12-30  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-image-type): Don't set a third
	argument of `make-temp-file' to work on Emacs21.

2009-12-29  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-response-header): Add an
	optional third argument for `search-forward-regexp'.

2009-12-29  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode 0.9.0 release
	
	* twittering-mode.el (twittering-start-http-session): check if
	curl can use https or not.
	(twittering-get-response-body): bug fix: goto the beginning of
	buffer before search-forward. 'xml-parse-region' doesn't return
	when parsing unbalanced XML.
	(twittering-start-http-session): Use call-process instead of
	shell-command-to-string. If 'curl-program' contains space
	characters, shell-command fails.

2009-12-29  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-response-body): Return nil
	explicitly when a broken XML data passed into `xml-parse-region'.
	(twittering-http-get-default-sentinel): Adjust callers.
	(twittering-http-post-default-sentinel): Likewise.

	* twittering-mode.el (twittering-http-post-default-sentinel): Add 
	`debug-printf' same as `twittering-http-get-default-sentinel'.

	* twittering-mode.el (twittering-http-post-default-sentinel):
	Change a regexp pattern for HTTP response status line; same as
	`twittering-http-get-default-sentinel'.
	(twittering-http-get-list-index-sentinel): Likewise.

2009-12-29  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el: load mule-ucs if needed (emacs21)
	(twittering-start-http-ssl-session): add 'Expect: ' header field
	for avoiding '417 Expectation Failed' HTTP response error. See
	http://d.hatena.ne.jp/imait/20091228/1262004813 and
	http://www.escafrace.co.jp/blog/09/10/16/1008

	* twittering-mode.el: load 'cl' only at compile
	time. cf. http://www.gnu.org/software/emacs/manual/html_node/cl/Overview.html

2009-12-28  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-get-response-header)
	(twittering-get-response-body): inefficient code were
	replaced. thanks to Tadashi MATSUO

2009-12-27  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-show-minibuffer-length): keeps
	activated mark from being forcefully deactivated.

2009-12-27  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/run-test.sh: add. invoke unit test for each emacsen

	* Makefile (check): add check rule.

	* test/el-test-runner.el (twittering-run-test): exit with
	appropriate status code.

	* test.el (test-transform-body): add. transforms the body of
	`defcase' recursively
	(defcase): use `test-transform-body'

	* test/run-test.el (twittering-run-test): colorize resulting
	outputs

2009-12-27  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-http-post-default-sentinel):
	Check if buffer live-p before killing it.
	(twittering-http-get-list-index-sentinel): Likewise.

	* twittering-mode.el (twittering-setup-minibuffer): Remove an
	unnecessary call.

	* twittering-mode.el (twittering-other-user-list-interactive): Fix
	condition to detect a cancel.

	* twittering-mode.el (twittering-http-get-list-index-sentinel):
	Use `search-forward-regexp' instead of `search-forward' to fix a
	meaningless search.

2009-12-26  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-string): reimplement
	without `block'.
	(twittering-format-string): invokes a function in replacement
	table with a context alist.
	(twittering-retweet): replacement table is adapted to the new
	`twittering-format-string'.
	(twittering-format-status): reimplement with
	`twittering-format-string'.

2009-12-26  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-ensure-ca-cert): kludge for ssl
	certificate problem.
	(twittering-start-http-ssl-session): use
	`twittering-ensure-ca-cert'

2009-12-25  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-show-minibuffer-length): Replace
	`minibufferp' by `minibuffer-window-active-p' to work this on
	Emacs21.
	(twittering-show-minibuffer-length): Change a message style for
	Emacs23.
	(twittering-setup-minibuffer, twittering-finish-minibuffer): Hook
	`post-command-hook' instead of `after-change-functions' to work in
	cooperation with SKK.

2009-12-25  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-tinyurl-get): Fix typo to resolve
	error "Symbol's value as variable is void". This problem was found
	by naota.

2009-12-25  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-show-minibuffer-length): disabled
	on Emacs21 because `minibufferp' is not available.
	(twittering-update-status-from-minibuffer): set
	`minibuffer-message-timeout' to `nil'. `t' causes error on
	Emacs23.

2009-12-23  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-show-minibuffer-length): New
	defun to show the number of charactors in minibuffer.
	(twittering-setup-minibuffer): New defun to add it to
	`after-change-functions'; invoke via `minibuffer-setup-hook'.
	(twittering-finish-minibuffer): New defun to remove it from
	`after-change-functions'; invoke via `minibuffer-exit-hook'.

	* twittering-mode.el (twittering-update-status-from-minibuffer):
	Set `minibuffer-setup-hook' and `minibuffer-exit-hook' temporarily.

2009-12-23  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/test-twittering-mode.el (tinyurl): add test for tinyurl

	* twittering-mode.el (twittering-tinyurl-get): fix for emacs22.
	In emacs22, there's "^M" at the end of a buffer created by
	url-retrieve
	(twittering-tinyurl-get): fix by cvmat

	* twittering-mode.el (twittering-edit-mode-map): keybind 'u' to
	twittering-edit-status. F4 to tinyurl

2009-12-22  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-tinyurl-get): retrieves a
	shortened URL without `url-insert'.
	(twittering-url-copy-file-async): add new
	function for downloading a file asynchronously.
	(twittering-retrieve-image-without-wget): retrieves images
	asynchronously with `twittering-url-copy-file-async'.

2009-12-22  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-ucs-to-char): turned into
	function from macro
	(twittering-update-lambda, twittering-update-jojo): more portable
	string expression. Executable only in Japanese environment.
	(twittering-tinyurl-get): use with-temp-buffer with url-insert

2009-12-21  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-icon-path): `require' is added.
	(twittering-tinyurl-get, twittering-retrieve-image-without-wget):
	The dependency on `mm-url' is removed by using `url' library.
	(twittering-http-application-headers):
	`Content-Length' is added to `headers'.

2009-12-22  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-host-method-from-timeline-spec)
	(twittering-get-timeline-spec): Add more timeline specification.

	* test/test-twittering-mode.el (timeline-spec): add more tests for
	timeline specification.

2009-12-20  Tadashi Matsuo  <tad@mymail.twin.jp>

	* test/test-twittering-mode.el (timeline-spec): add tests for
	timeline specification.
	* twittering-mode.el (twittering-get-host-method-from-timeline-spec)
	(twittering-get-timeline-spec): Add new functions for timeline
	specification.
	(twittering-update-mode-line): Shows timeline specification.
	(twittering-render-timeline): Invokes
	`twittering-update-mode-line' to update the mode-line.
	(twittering-timeline-history): Add new variable for history of
	timeline specifications.
	(twittering-add-timeline-history): Add new function for adding
	timeline history.
	(twittering-http-get-default-sentinel): Invokes
	`twittering-add-timeline-history' to update history when
	retrieving tweets successfully.
	(twittering-other-user-list-interactive): The codes for retrieving
	list index synchronously are extracted as the new function
	`twittering-get-list-sync'.
	(twittering-get-list-index-sync): Add new function for retrieving
	list synchronously.
	(twittering-read-list-name): Add new function for reading a list
	name from the minibuffer.
	(twittering-read-timeline-spec-with-completion): Add new function
	for reading timeline specification from the minibuffer.
	(twittering-get-twits-with-timeline-spec): Add new function for
	retrieving tweets with timeline specification.
	(twittering-visit-timeline): Add new function for visiting a
	timeline.
	(twittering-mode-map): The key "V" is bound to
	'twittering-visit-timeline'.

2009-12-20  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-update-mode-line): add
	(twittering-toggle-proxy, twittering-icon-mode)
	(twittering-scroll-mode, twittering-jojo-mode): use
	update-mode-line

2009-12-19  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-use-ssl): add
	(twittering-find-curl-program): add
	(twittering-start-http-ssl-session): add
	(twittering-start-http-non-ssl-session): add
	(twittering-http-application-headers): add
	(twittering-http-get): rewritten by using start-http-session
	(twittering-http-post): rewritten by using start-http-session
	(twittering-http-post-default-sentinel): use the same argument
	format of http-get-default-sentinel

2009-12-16  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-tinyurl-replace-at-point):
	distinguish between URL and others based on
	`bounds-of-thing-at-point'.

2009-12-15  haya  <haya@starfish.unicus.ddo.jp>

	* twittering-mode.el (twittering-status-not-blank-p): fix invalid escape sequence
	(twittering-tinyurl-replace-at-point): disabled when 'mm-url' doesn't exist.

2009-12-12  Alberto Garcia  <agarcia@igalia.com>

	* twittering-mode.el (twittering-retrieve-image-without-wget):
	Kill buffer after retrieving the image

2009-12-11  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-tinyurl-get): Call
	`mm-url-insert' only if argument `longurl' is non-nil to avoid
	error "Wrong type argument", otherwise return nil explicitly.
	(twittering-tinyurl-replace-at-point): Replace a region with
	newurl when `newurl' is non-nil.

2009-12-07  Naohiro Aota  <naota@elisp.net>

	* twittering-mode.el (twittering-http-get-default-sentinel): Check
	if buffer live-p before killing it.

2009-12-07  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-read-username-with-completion):
	rename from `twittering-get-username-with-completion'
	(twittering-make-list-from-assoc): simplified
	(twittering-other-user-timeline-interactive): changed init string
	to nil

2009-12-06  NAKAYA Toshiharu  <toshiharu.nakaya@gmail.com>

	* twittering-mode.el (twittering-retrieve-image-without-wget): set
	require-final-newline is nil locally since emacs can not save icon
	images because of "error in process filter: save-buffer: Text is
	read-only".

2009-12-06  Tadashi MATSUO  <matsuo@i.ci.ritsumei.ac.jp>

	* twittering-mode.el (twittering-use-wget): new variable for
	specifying whether the external command `wget' should be used.
	(twittering-retrieve-image): new function for retrieving icon
	images with/without wget.
	(twittering-get-twits): retrieve images with
	`twittering-retrieve-image'.
	(twittering-use-convert): add a new variable specifying whether
	the external command `convert' should be used.
	(twittering-make-display-spec-for-icon): new function for
	generating properties for icon with/without cropping the image.
	(twittering-retrieve-image-without-wget): write an image as binary
	explicitly.

2009-12-05  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-get-username-with-completion):
	New defun as a wrapper function for read-from-minibuffer.
	(twittering-follow): Call it instead of read-from-minibuffer.
	(twittering-other-user-timeline-interactive): Likewise.
	(twittering-other-user-list-interactive): Likewise.

	* twittering-mode.el (twittering-make-list-from-assoc): New defun.

2009-12-04  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/test-twittering-mode.el (sign-string): add test

	* twittering-mode.el (twittering-current-hashtag): docstring
	(twittering-idle-time): removed (unused?)

2009-12-03  Tadasohi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-mode-map): define bindings so
	as to be also valid even on non-window terminal.

2009-12-02  Naohiro Aota  <naota@elisp.net>

	* twittering-mode.el (twittering-icon-path): New funciton.
	(twittering-format-status): Use it.
	(twittering-get-twits): Ditto; wget now invoked for each icon.

2009-12-01  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-update-status-from-minibuffer):
	Add more strict length check for status.
	
	* twittering-mode.el (twittering-status-not-blank-p): New defun to
	separate a check code from twittering-update-status-if-not-blank.
	(twittering-update-status-from-minibuffer): Integrate a post code
	from twittering-update-status-if-not-blank.
	(twittering-update-status-if-not-blank): Remove.

2009-11-30  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-max-number-of-tweets-on-retrieval)
	(twittering-number-of-tweets-on-retrieval): add
	(twittering-http-get-list-index-sentinel): restore the variable
	'indexes' removed by mistake
	(twittering-get-twits): use 'twittering-number-of-tweets-on-retrieval'
	These changes were made by cvmat. thanks.

2009-11-29  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-status-to-status-datum): defined
	screen-name-in-text property
	(twittering-enter)
	(twittering-other-user-timeline-interactive)
	(twittering-other-user-timeline):
	put a screen-name-in-text ahead of other elements(uri, ...)

2009-11-28  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/run-test.el (twittering-run-test): use test.el

	* twittering-mode.el (twittering-http-get, twittering-http-post):
	use a temp-buffer for each connection. This change solved the
	problem caused by concurrent HTTP request.
	(twittering-get-response-header, twittering-get-response-body):
	requires 'buffer' because now each http request is associated with
	its temp buffer
	(twittering-http-buffer): removed

2009-11-19  Tadashi MATSUO  <tad@mymail.twin.jp>

	* twittering-mode.el (twittering-format-string): Add new function
	to format strings with a user-defined table.
	(twittering-retweet): Use 'twittering-format-string'.

2009-11-18  Alberto Garcia  <agarcia@igalia.com>

	* twittering-mode.el
	(+twittering-direct-message, twittering-mode-map):
	New `twittering-direct-message' function to send direct messages.

2009-11-15  Naohiro Aota  <naota@elisp.net>

	* twittering-mode.el (twittering-convert-fix-size): New variable.
	(twittering-image-type): Use it; Resize icons to fix size if the
	above variable is set.

2009-11-15  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* test/test-twittering-mode.el, test/run-test.el, test/elunit.el: add unit testing framework elunit.

	* twittering-mode.el (twittering-goto-next-thing,
	(twittering-goto-previous-thing): add new commands.
	(twittering-goto-previous-status): check whether prev-pos is not nil.
	(twittering-set-current-hashtag, twittering-hashtag-history): add functions to support hashtag. Set the current hashtag with C-c C-h.
	(twittering-update-status-from-minibuffer): use the current hashtag if set.

2009-11-13  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-convert-last-timeline-retrieved):
	New defun to keep a backward compatibility.
	(twittering-last-host, twittering-last-method): Call it.

2009-11-10  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-follow): New command.
	(twittering-unfollow): Likewise.
	(twittering-manage-friendships): New defun.

	* twittering-mode.el (twittering-favorite): New command.
	(twittering-unfavorite): Likewise.
	(twittering-manage-favorites): New defun.

2009-11-09  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-mode-map): Bind "L" to
	`twittering-other-user-list-interactive'.

	* twittering-mode.el (twittering-other-user-list-interactive): Set
	default username interactively.
	(twittering-other-user-list-interactive): Fix typo.

	* twittering-mode.el (twittering-make-http-request): Use let
	instead of let*.

2009-11-07  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el: Add (preliminary) Lists support.

	* twittering-mode.el (twittering-other-user-list-interactive): New
	command.

	* twittering-mode.el (twittering-get-list): New defun.
	(twittering-get-list-index): Likewise.
	(twittering-http-get-list-index-sentinel): Likewise.

	* twittering-mode.el (twittering-last-timeline-retrieved): Now it
	expects a list, not a string.
	(twittering-last-host, twittering-last-method): New defuns.
	(twittering-list-index-retrieved): New defvar.

	* twittering-mode.el (twittering-get-twits): Rename from
	twittering-get-timeline.
	(twittering-get-timeline): Call twittering-get-twits instead
	of (previous) twittering-get-timeline.
	(twittering-current-timeline): Likewise.
	(twittering-erase-old-statuses): Likewise.
	(twittering-goto-next-status): Likewise.

	* twittering-mode.el (twittering-make-http-request): New defun.
	(twittering-http-get): Use it.
	(twittering-http-post): Likewise.

	* twittering-mode.el (twittering-http-get): Add new local variable
	`server' which point to "twitter.com", "api.twitter.com", or your
	nearest proxy server. Otherwise `host' always point to
	"twitter.com" or "api.twitter.com".
	(twittering-http-post): Likewise.

	* twittering-mode.el (twittering-http-post): Add new argument
	`host'.
	(twittering-http-post): Change handling of the argument
	`method'. Now it expects `(concat method-class "/" method)'.

	* twittering-mode.el (twittering-update-status-if-not-blank):
	Adjust for change to twittering-http-post.
	(twittering-update-lambda): Likewise.
	(twittering-update-jojo): Likewise.

	* twittering-mode.el (twittering-get-twits): Set parameter `count'
	from twittering-get-count if existing.

2009-11-06  Naohiro Aota  <naota@elisp.net>

	* twittering-mode.el (twittering-image-type): Support bitmap type
	using `convert'.
	(twittering-convert-program): New varibale.

2009-11-05  Satoshi Yatagawa  <yata_github@y.hauN.org>

	* twittering-mode.el (twittering-render-timeline): Set the
	`fill-column' locally.

2009-09-01  Alberto Garcia  <agarcia@igalia.com>

	* twittering-mode.el (twittering-retweet):
	Don't set the original status ID when retweeting.

2009-08-23  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-keybind-message): add. displaying important keybindings in minibuffer

2009-08-22  Yuto Hayamizu  <y.hayamizu@gmail.com>

	* twittering-mode.el (twittering-get-username): add
	(twittering-get-password): changed prompt
	(twittering-status-to-status-datum): added a new text property 'uri-in-text'
	(twittering-enter): use 'uri-in-text'

2009-08-19  Alberto Garcia  <agarcia@igalia.com>

	* twittering-mode.el
	(twittering-image-type):
	Use external 'file' program if available to detect image types,
	and store the results in memory to avoid having to call it once
	and again.
	(twittering-format-status):
	Pass full image path to `twittering-image-type'

2009-06-18  Alberto Garcia  <agarcia@igalia.com>

	* twittering-mode.el (twittering-http-get)
	(twittering-http-get-default-sentinel)
	(twittering-get-timeline, twittering-mode-map)
	(twittering-current-timeline-noninteractive)
	(twittering-current-timeline, twittering-erase-old-statuses):
	Get rid of the `twittering-last-timeline-interactive' global
	variable.

2009-06-18  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-sign-simple-string)
	(twittering-sign-string-default-function)
	(twittering-sign-string-function, twittering-sign-string): Add
	new.
	(twittering-update-status-if-not-blank): Fix params, support sign.

2009-06-18  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-mode-map)
	(twittering-format-status, twittering-retweet): Add new feature
	ReTweet

2009-06-18  Alberto Garcia  <agarcia@igalia.com>

	* twittering-mode.el
	(twittering-status-to-status-datum):
	Read 'in_reply_to_status_id' and 'in_reply_to_user_id' attributes.
	(twittering-format-status):
	Add new '%r' format string for " in reply to user".
	(twittering-update-status-if-not-blank):
	Code refactoring. No need to use (format) to convert a string.

2009-06-18  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-status-format)
	(twittering-format-status, twittering-status-to-status-datum)
	(twittering-update-status-if-not-blank, twittering-enter): Fix
	in_reply_to_status_id support not work problem, and marge Alberl
	patch below.

2009-06-17  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-last-timeline-interactive): New
	add variable.
	(twittering-new-tweets-count): Ditto.
	(twittering-new-tweets-hook): Ditto.
	(twittering-mode-map): Add new binding v/V
	(twittering-http-get-default-sentinel): Add new hook support
	`twittering-new-tweets-hook'.
	(twittering-render-timeline, twittering-get-timeline): Support
	console emacs.
	(twittering-current-timeline-interactive): Add new function.
	(twittering-current-timeline-noninteractive): Ditto.
	(twittering-other-user-timeline): Ditto.
	(twittering-other-user-timeline-interactive): Ditto.
	(twittering-status-to-status-datum): Add support status id and
	reply to id.
	(twittering-update-status-if-not-blank): Ditto.
	(twittering-update-status-from-minibuffer): Ditto.

2009-03-12  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-start): Update target chagne to
	current.

2009-03-12  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el: Append new methods by Alberto Garcia
	<agarcia@igalia.com>'s patch.
	(twittering-get-timeline): Add new general method. Old name is
	`twittering-friends-timeline'.
	(twittering-friends-timeline): Renew use general method.
	(twittering-replies-timeline): Add new.
	(twittering-public-timeline): Ditto.
	(twittering-user-timeline): Ditto.
	(twittering-current-timeline): Ditto.
	(twittering-last-timeline-retrieved): Add new variable.
	(twittering-mode-map): Add new key binding.
	(twittering-erase-old-statuses): Support multi method.

	(twittering-timer): Comment update.
	(twittering-icon-mode): Ditto.
	(twittering-http-post): Ditto.
	(twittering-get-response-body): Ditto.
	(twittering-cache-status-datum): Ditto and Fix renaming.
	(twittering-timeline-data, twittering-timeline-last-update):
	Rename.
	(twittering-render-timeline): Ditto.
	(twittering-icon-mode): Fix renaming.
	(twittering-http-get-default-sentinel): Ditto.
	(twittering-format-status): Fix indentation.

2009-03-09  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-mode): Add keybind in Major mode
	docstring by Alex Schröder <kensanata@gmail.com>

2008-08-03  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-mode-version): Update to 0.6
	* twittering-mode.el (twittering-friends-timeline-last-update): 新
	規変数
	(twittering-setftime, twittering-local-strftime)
	(twittering-global-strftime): `twittering-local-strftime'を機能分
	割
	(twittering-http-get): オプション引数`parameters'を追加、他調整
	(twittering-http-post): 同上の調整
	(twittering-status-to-status-datum): last-updateを更新する処理を追
	加
	(twittering-friends-timeline, twittering-erase-old-statuses):
	statusのupdate時にsinceをパラメータと指定する処理をサポート

2008-07-21  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-http-get, twittering-http-post):
	改行が1つ多かったので除去

2008-05-11  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el (twittering-format-status): id/user-idのフォー
	マット整形。時間情報にuriを付与。Nicholasのパッチにより全体に
	username情報を付与
	(twittering-status-to-status-datum): username/user-screen-nameにつ
	いて整理
	(twittering-get-status-url): 新規関数(マクロでもいいんだけど...)

2008-05-01  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el : 全体のコメント修正、以下の修正は大部分を
	gan2さんが実施した
	(twittering-mode-version): 新規関数
	(twittering-timer): コメント追加
	(twittering-scroll-mode, twittering-jojo-mode)
	(twittering-icon-mode): Nicholas Riley <njriley@uiuc.edu>さんのパッ
	チ採用、バッファローカル化
	(list-push): 新規マクロ
	(twittering-mode-map): キーバインド変更
	(twittering-mode-hook): フック変数新規作成(以前から利用してたけど
	定義がなかった)
	(twittering-render-friends-timeline): Nicholas Riley
	<njriley@uiuc.edu>さんのパッチ採用、ステータスの挿入正常化
	(twittering-goto-next-status)
	(twittering-get-next-username-face-pos)
	(twittering-goto-previous-status)
	(twittering-get-previous-username-face-pos)
	(twittering-goto-next-status-of-user)
	(twittering-goto-previous-status-of-user)
	(twittering-get-username-at-pos, twit): 新規関数

2008-02-08  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>

	* twittering-mode.el : 全体的に整形、Proxy、Safe Password、
	User-Agent、Major mode stringを対応。Version 0.3
	(twittering-mode-version): 暫定のバージョン定数を定義
	(twittering-proxy-use): プロキシ関係設定を導入 from <http://d.hatena.ne.jp/lurdan/20080108/1199775387>
	(twittering-proxy-server): 同上
	(twittering-proxy-port, twittering-proxy-user): 同上
	(twittering-proxy-password): 同上
	(twittering-toggle-proxy): 同上
	(twittering-user-agent-default-function): 同上
	(twittering-user-agent-default-function): デフォルトUser-Agent生成関数
	(twittering-user-agent-function): User-Agent生成関数指定変数を導入
	(twittering-user-agent): 内部でのUser-Agent生成関数
	(twittering-tmp-dir): ユーザー固有のImageTmpDirを生成 from <http://d.hatena.ne.jp/odz/20071021/1192957783>
	(twittering-mode-map): プロキシの有効無効のキーバインド定義
	(twittering-mode-string): メジャーモード文字列を変数定義
	(twittering-mode): メジャーモード開始時に文字列を設定
	(twittering-http-get): プロキシ、User-Agentによる処理を追加
	(twittering-http-post): 同上
	(twittering-get-password): パスワードを動的に確認する関数を定義

2007-10-14  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el : Naoya T. <naoya.t@aqua.plala.or.jp>, masa_edw のパッチをとりこむ
	(twittering-url-encode): 使わないので削除
	(twittering-decode-html-entities): patched: 数値エンティティだけでなく,asciiエンティティにも対応.
	(twittering-font-lock-keywords): font-lock-keywordsを削除.text propertyによって設定する.
	(twittering-format-status): patched: statusとformat-strからstatusの表示用文字列を生成.
	(twittering-scroll-mode): patched: 新しいtwitがあったときに,カーソルもスクロールするか固定するかを設定するマイナモード, masa_edwのパッチ
	(twittering-status-format): twitの表示方法をきめるテンプレート文字列
	(twittering-icon-mode): patched: ifをwhenにおかえた.nilを渡されたときはマイナモードのスイッチに振舞を変更
	(twittering-local-strftime): patched: 時間をフォーマット文字列に従い文字列化
	(twittering-mode-init-variables): font-lock-modeは,Emacs21系ではautoloadするために一度呼ぶ必要がある. icon-mode, scroll-modeをマイナモードに登録.
	(twittering-inspect-object): 使わないので削除
	(twittering-http-get-default-sentinel): エラーを追いやすくするため,condition-caseを廃止
	(twittering-status-to-status-datum): 全てのデータを抽出するようコード追加.ユーザ名,URIリンク表示などの処理もここで.

2007-10-13  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-font-lock-keywords): ユーザー名のフェイスを適用する規則を修正.アイコン画像を表示したときに,下線が画像にかからないようにした.
	(twittering-render-friends-timeline): ポイントが特定のtwitに対して固定されるようにした(patch from masa_edw)

2007-10-12  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-idle-time): つかわないので削除
	(twittering-get-or-generate-buffer): バッファ取得のための関数.存在しないバッファだったら,新たに生成して返す.
	(twittering-buffer): Variable:twittering-bufferを名前に持つバッファを返す関数.このバッファを使う場合は,(twittering-buffer)によって取得する.
	(twittering-http-buffer): twittering-bufferと同じ
	(twittering-wget-buffer): twittering-bufferと同じ
	

2007-10-11  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-icon-mode): アイコンを表示するか否かのフラグ
	(twittering-wget-buffer): アイコン画像をwgetで取得するプロセスのバッファ
	(twittering-icon-mode): アイコンの表示/非表示を切り換えるコマンド
	(twittering-tmp-dir): アイコンの画像を保存するディレクトリ
	(twittering-image-stack): ダウンロードすべきアイコン画像のリスト
	(twittering-image-type): 画像の種類を判別する関数
	(twittering-render-friends-timeline): friends timelineを表示する部分を切り出した

2007-10-10  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el: バージョン番号をつけた 0.1.0

2007-10-07  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-http-get-default-sentinel): http-bufferを毎回生成-削除するのをやめて,内容をeraseして使い回すようにした.
	(twittering-http-get-default-sentinel):HTTPレスポンスのステータスコードが上手く拾えなかったときの処理を追加
	(twittering-http-get-default-sentinel): カレントバッファか*twittering*のときは,friends-timelineを更新してもポイントの位置が変わらないように修正.

2007-09-24  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-status-to-status-datum): URIをクリック可能にする処理を追加

2007-09-23  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-uri-face): URI用のフェイス
	(twittering-click): クリック時に実行されるコマンド
	(twittering-enter): EnterかC-mが押されたときに実行されるコマンド

2007-09-19  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-mode-syntax-table): "(double quote)を,文字列クオートと認識しないようにsytax-tableを変更.
	(twittering-friends-timeline): friends timelineの取得したデータを保存しておく変数.twittering modeが起動している限り,この変数に取得したstatusを随時追加してゆく.
	(cl): assocrefをinnner defunして,バイトコンパイル時にWarningが出ていた.clパッケージのfletを使うことでWarningが出ないように解決した.
	(twittering-status-to-status-datum): twittering-status-to-lineから名前変更
	(twittering-friends-timeline-data): twittering-friends-timelineから名前変更
	(twittering-status-to-status-datum): idもstatus datumに含めるようにした.
	(twittering-cache-status-datum): status datumをdata-var(デフォルトはtwittering-friends-timeline-data)にキャッシュする関数.すでにあるstatus datumを渡すとnil,新しいstatus datumを渡すとtを返してdata-varに追加する.
	(twittering-http-get-default-sentinel):過去のstatus datumをキャッシュして,バッファに過去のstatusも表示されるようにした.
	(twittering-erase-old-statuses): 21件目以降の古いstatusを消す関数.実際はキャッシュを全部消して,twittering-http-getを呼んでいるだけ.C-c C-eにバインド.
	(twittering-username-face): ユーザ名用のface.(defface <name>)の後に(defvar <name>)で使用可能になった.なぜ？
	(twittering-status-to-status-datum): ユーザ名のテキストにmouse-face属性と,uri属性(ユーザのページのURI)を付加するようにした.
	(twittering-click-username): ユーザ名をクリックするか,C-mを押したときに起動するコマンド.
	(twittering-mode-map): vimライクなキーバインドを追加
	(twittering-mode): twittering-mode-hookでfont-lock-defaultsが設定された後に,font-lock-mode を2回呼んで変更を反映させるようにした.
	(twittering-mode-init-variables): twittering-username-faceの定義をこの関数の中にうつした.
	(twittering-browse-user-page): twittering-click-usernameから名前変更.
	(twittering-update-status-interactive): twittering-update-statusから名前変更.
	(twittering-reply-to-user): ユーザ名上でEnterを押すとこの関数が呼びだされるようにキーバインド変更.ミニバッファに @<ユーザ名> が自動挿入される.
	(twittering-view-user-page): twittering-browse-user-pageから名前変更.C-c C-vにバインド.
	(twittering-update-status-if-not-blank): 引数statusが,空白文字のみか, @<ユーザ名> のみの場合には nil を返し,他の文字も含む場合には POSTしてtを返す関数.
	(twittering-update-status-from-minibuffer): ミニバッファからstatusを更新するための関数.無効な文字(twittering-update-status-if-not-blankで判定)が入力された場合は,有効な文字列が入力されるまでループする.

2007-09-12  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-ucs-to-char): Emacs21系では,Mule-UCSがロードされていないと,(decode-char 'ucs HOGE)がnilになり,文字コードを取得できないことがある.そこで,ucs-to-charが使える環境ではucs-to-charを,使えない環境(Emacs22など)ではdecode-charを使うように自動で切り替えるマクロを書いた.

2007-09-10  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el (twittering-refresh-buffer): 使わないので削除
	(twittering-http-post-default-sentinel): condition-case でエラーハンドリングするようにした.
	(twittering-http-get-default-sentinel): *twittering*バッファをread-onlyにした
	(twittering-http-post-default-sentinel): condition-case でエラーハンドリングするコードを追加.
	(twittering-start): 複数のタイマが走らないように,twittering-timerがnilでない=既存のタイマが走っている場合は一旦twittering-stopを呼び出してからタイマをスタートするようにした.

2007-09-09  Y. Hayamizu  <haya@haya-laptop-ubuntu>

	* twittering-mode.el: リリース
	(case-string): CarbonEmacs (Emacs22)で,case-stringを呼びだすコードよりも前にdefmacroを持ってきたら,警告が出ないという報告.
	(twittering-decode-html-entities): ucs-to-charの使用をやめ,(decode-char 'ucs ...)を使うことに. (reported by masa_edw)
	(twittering-update-status): read-from-minibufferの7番目の引数にtを指定し,input methodをカレントバッファから継承するようにした.
	(twittering-decode-html-entities): string-to-intはobsoleteなので,string-to-numberに変更 (reported by masa_edw)
	(twittering-get-response-header): (setq (get-buffer ...)) となっていたので,(setq buffer (get-buffer ...))に修正. twittering-get-response-bodyも同様
	(twittering-timer-action): twittering-refresh-triggerは既に使っていない変数だったので削除した
	(debug-print): マクロが最初にコンパイルされる時点では,debug-modeが変数として宣言されていないので,debug-modeの判断まで含めたコードを吐くようにした.
	(twittering-http-post-default-sentinel): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに伴い書き換えた
	(twittering-get-response-body): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに伴い書き換えた
	(twittering-xmltree-to-status): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに伴い書き換えた
	(twittering-status-lines): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに伴い書き換えた
	(twittering-status-to-line): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに伴い書き換えた
	(twittering-get-timeline): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに削除
	(twittering-status-lines): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに削除
	(twittering-parse-xml): xml-parse.elのかわりに,xml.el(Emacs標準？)を使うように変更したことに削除
	(twittering-timer-interval): twittering-refresh-intervalから名前変更
	(twittering-inspect-object): 任意のLispオブジェクトを文字列で表現できるユーティリティ関数
	(twittering-timer-action): xml.elにより処理が軽くなったので,一定時間間隔での更新に変更.
	(twittering-xmltree-to-status): Emacs21とEmacs22のxml.elの差異を吸収するコードを追加.Emacs22では,ノードのリストに空の文字列が混入することがあるため,文字列を除去するようにした.

