[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Referer (Re: buffer local variables)
とりあえず雑感をば。
>> On Tue, 11 Sep 2001 20:40:49 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:
山> とりあえず、post-data と referer をヒストリーに登録し、ページを
山> 再 visit するときに使うようにしてみました。
実装を調べていたのですが、
(1) 再現条件がまだよく分かっていないのですが、時々、post-data /
referer が変になりませんか?
(2) about://history/ を一旦経由すると、referer が about://history/ に
なってしまうのが、ちょっと不便。
(3) 利用者のプライバシを考えると、about:... や file:... などのローカル
なコンテンツと判断される場所を referer として相手に渡してしまうの
は避けるべきではないでしょうか。
;; 私は (setq w3m-add-referer nil) して使っているので関係ありませ
;; んけれども。
(4) post-data / referer は、バッファローカル変数で管理するのをやめて、
全面的にヒストリだけに依存することができるかもしれませんね。
(5) colon keywords の扱いが気になったので、添付したようなパッチを作成
したのですが、良く考えると T-gnus 用に、山岡さんが作ってくださった
対処が正解のような気がしてきました。お願いできないでしょうか?
Index: w3m-hist.el
===================================================================
RCS file: /home/tsuchiya/cvsroot/emacs-w3m/w3m-hist.el,v
retrieving revision 1.37
diff -u -r1.37 w3m-hist.el
--- w3m-hist.el 11 Sep 2001 06:39:19 -0000 1.37
+++ w3m-hist.el 11 Sep 2001 13:17:07 -0000
@@ -737,8 +737,8 @@
"Store the current position point in the history structure."
(interactive)
(when (cadar w3m-history)
- (w3m-history-add-properties (list ':window-start (window-start)
- ':position (point))
+ (w3m-history-add-properties (list :window-start (window-start)
+ :position (point))
nil nil t)
(when (interactive-p)
(message "The position point has registered"))))
@@ -747,10 +747,10 @@
"Restore the last position point for the current url."
(interactive)
(when (cadar w3m-history)
- (let ((start (w3m-history-plist-get ':window-start nil nil t))
+ (let ((start (w3m-history-plist-get :window-start nil nil t))
position)
(cond ((and start
- (setq position (w3m-history-plist-get ':position
+ (setq position (w3m-history-plist-get :position
nil nil t)))
(set-window-start nil start)
(goto-char position))
@@ -782,7 +782,7 @@
(when symbol
(if (setq title (get symbol 'title))
(push (list (symbol-name symbol)
- (list ':title title))
+ (list :title title))
url-title)
(push (list (symbol-name symbol)) url-title)))))
w3m-arrived-db)
Index: w3m-om.el
===================================================================
RCS file: /home/tsuchiya/cvsroot/emacs-w3m/w3m-om.el,v
retrieving revision 1.18
diff -u -r1.18 w3m-om.el
--- w3m-om.el 11 Jul 2001 09:36:33 -0000 1.18
+++ w3m-om.el 11 Sep 2001 13:17:52 -0000
@@ -48,6 +48,20 @@
(defvar w3m-mode-map)
(defvar w3m-menubar))
+;; Colon Keywords.
+(eval-and-compile
+ (condition-case nil
+ :symbol-for-testing-whether-colon-keyword-is-available-or-not
+ (void-variable
+ (eval '(defconst :bool ':bool))
+ (eval '(defconst :case-ignore ':case-ignore))
+ (eval '(defconst :integer ':integer))
+ (eval '(defconst :title ':title))
+ (eval '(defconst :referer ':referer))
+ (eval '(defconst :post-data ':post-data))
+ (eval '(defconst :window-start ':window-start))
+ (eval '(defconst :position ':position)))))
+
;; Dummy functions.
(defalias 'w3m-create-image 'ignore)
(defalias 'w3m-insert-image 'ignore)
Index: w3m.el
===================================================================
RCS file: /home/tsuchiya/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.375
diff -u -r1.375 w3m.el
--- w3m.el 11 Sep 2001 11:41:05 -0000 1.375
+++ w3m.el 11 Sep 2001 13:14:40 -0000
@@ -867,14 +867,6 @@
(defvar w3m-cid-retrieve-function-alist nil)
(defvar w3m-force-redisplay t)
-(eval-and-compile
- (condition-case nil
- :symbol-for-testing-whether-colon-keyword-is-available-or-not
- (void-variable
- (eval '(defconst :bool ':bool))
- (eval '(defconst :case-ignore ':case-ignore))
- (eval '(defconst :integer ':integer)))))
-
(defvar w3m-work-buffer-list nil)
(defconst w3m-work-buffer-name " *w3m-work*")
@@ -2865,8 +2857,8 @@
(w3m-history-backward))))
(when url
(w3m-goto-url url nil nil
- (w3m-history-plist-get ':post-data)
- (w3m-history-plist-get ':referer))
+ (w3m-history-plist-get :post-data)
+ (w3m-history-plist-get :referer))
;; restore last position
(w3m-history-restore-position))))
@@ -3628,16 +3620,16 @@
(if w3m-add-referer referer nil)))
(progn
(w3m-history-push (w3m-real-url url)
- (list ':title (file-name-nondirectory url)))
+ (list :title (file-name-nondirectory url)))
(w3m-history-push w3m-current-url)
(w3m-refontify-anchor))
(setq w3m-current-post-data post-data
w3m-current-referer referer)
(w3m-history-push w3m-current-url
(w3m-cleanup-plist
- (list ':title w3m-current-title
- ':referer w3m-current-referer
- ':post-data w3m-current-post-data)))
+ (list :title w3m-current-title
+ :referer w3m-current-referer
+ :post-data w3m-current-post-data)))
(or (and name (w3m-search-name-anchor name))
(goto-char (point-min)))
(setq w3m-display-inline-image-status 'off)
@@ -3913,7 +3905,7 @@
(setq element (pop history)
url (car element)
about (string-match w3m-history-ignored-regexp url)
- title (plist-get (cadr element) ':title)
+ title (plist-get (cadr element) :title)
position (caddr element))
(insert (format "h%s %d <a href=\"%s\">%s%s%s</a>\n"
(mapconcat (function (lambda (d) (format form d)))
--
土屋 雅稔 ( TSUCHIYA Masatoshi )