[C] packages: Fix my typo in timeclock.el code
17 years, 3 months
Adrian Aichner
COMMIT
packages ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: xemacs-packages/calendar/ChangeLog
Index: xemacs-packages/calendar/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/calendar/ChangeLog,v
retrieving revision 1.53
diff -u -U0 -r1.53 ChangeLog
--- xemacs-packages/calendar/ChangeLog 20 Sep 2007 22:30:47 -0000 1.53
+++ xemacs-packages/calendar/ChangeLog 21 Sep 2007 06:08:26 -0000
@@ -2,0 +3,6 @@
+ * timeclock.el (timeclock-find-discrep): Fix my mis-typing of
+ `line-number' (thanks for pointing this out, John Paul
+ Wallington).
+
+2007-09-21 Adrian Aichner <adrian(a)xemacs.org>
+
packages source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: xemacs-packages/calendar/timeclock.el
===================================================================
RCS
Index: xemacs-packages/calendar/timeclock.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/calendar/timeclock.el,v
retrieving revision 1.7
diff -u -w -r1.7 timeclock.el
--- xemacs-packages/calendar/timeclock.el 20 Sep 2007 22:30:47 -0000 1.7
+++ xemacs-packages/calendar/timeclock.el 21 Sep 2007 06:06:30 -0000
@@ -1165,7 +1165,7 @@
(if (not beg)
;; XEmacs change
(error "Error in format of timelog file, line %d"
- (line-umber))
+ (line-number))
(setq timeclock-last-period
(- (timeclock-time-to-seconds (cadr event)) beg)
accum (+ timeclock-last-period accum)
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C] packages: Simplify/fix timeclock.el error line number reporting
17 years, 3 months
Adrian Aichner
COMMIT
Hello Jeff, All, I am committing this now, but your review would be
much appreciated.
Best regards!
Adrian
packages ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: xemacs-packages/calendar/ChangeLog
Index: xemacs-packages/calendar/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/calendar/ChangeLog,v
retrieving revision 1.52
diff -u -U0 -r1.52 ChangeLog
--- xemacs-packages/calendar/ChangeLog 11 Jul 2007 06:49:31 -0000 1.52
+++ xemacs-packages/calendar/ChangeLog 20 Sep 2007 22:28:29 -0000
@@ -0,0 +1,10 @@
+2007-09-21 Adrian Aichner <adrian(a)xemacs.org>
+
+ * timeclock.el (timeclock-read-moment): Report current
+ `line-number' in case of error.
+ * timeclock.el (timeclock-log-data): Remove tracking of line
+ number (which currently fails to track time balance entries)
+ instead of making the tracking ever more complicated. Simply
+ obtain current `line-number' in case of error.
+ * timeclock.el (timeclock-find-discrep): Ditto.
+
packages source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: xemacs-packages/calendar/timeclock.el
===================================================================
RCS xemacs-packages/calendar/ChangeLog
===================================================================
RCS
Index: xemacs-packages/calendar/timeclock.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/calendar/timeclock.el,v
retrieving revision 1.6
diff -u -w -r1.6 timeclock.el
--- xemacs-packages/calendar/timeclock.el 16 Apr 2007 02:12:28 -0000 1.6
+++ xemacs-packages/calendar/timeclock.el 20 Sep 2007 22:29:16 -0000
@@ -740,8 +740,10 @@
(project (match-string 8)))
(list code (encode-time sec min hour mday mon year) project)))
((not (eobp))
- (error "unexpected data in %s: %s"
+ (error "unexpected data in %s, line %d: %s"
timeclock-file
+ ;; XEmacs change
+ (line-number)
(buffer-substring
(point-at-bol)
(point-at-eol))))))
@@ -1026,7 +1028,7 @@
(now (current-time))
(todays-date (timeclock-time-to-date now))
last-date-limited last-date-seconds last-date
- (line 0) last beg day entry event)
+ last beg day entry event)
(with-temp-buffer
(insert-buffer
(timeclock-get-timeclock-file-buffer (or filename timeclock-file)))
@@ -1037,7 +1039,6 @@
(while (or (setq event (timeclock-read-moment))
(and beg (not last)
(setq last t event (list "o" now))))
- (setq line (1+ line))
(cond ((equal (car event) "b")
(setcar log-data (string-to-number (nth 2 event))))
((equal (car event) "h")
@@ -1046,7 +1047,8 @@
3600.0)))
((equal (car event) "i")
(if beg
- (error "Error in format of timelog file, line %d" line)
+ (error "Error in format of timelog file, line %d"
+ (line-number))
(setq beg t))
(setq entry (list (cadr event) nil
(and (> (length (nth 2 event)) 0)
@@ -1067,7 +1069,8 @@
last-date-limited nil)))
((equal (downcase (car event)) "o")
(if (not beg)
- (error "Error in format of timelog file, line %d" line)
+ (error "Error in format of timelog file, line %d"
+ (line-number))
(setq beg nil))
(setcar (cdr entry) (cadr event))
(let ((desc (and (> (length (nth 2 event)) 0)
@@ -1112,8 +1115,7 @@
;; total)
(let* ((now (current-time))
(todays-date (timeclock-time-to-date now))
- ;; XEmacs change
- (first t) (accum 0) (elapsed 0) (line 0)
+ (first t) (accum 0) (elapsed 0)
event beg last-date avg
last-date-limited last-date-seconds)
(unless timeclock-discrepancy
@@ -1129,8 +1131,6 @@
(unless (re-search-backward "^b\\s-+" nil t)
(goto-char (point-min)))
(while (setq event (timeclock-read-moment))
- ;; XEmacs change
- (setq line (1+ line))
(cond ((equal (car event) "b")
(setq accum (string-to-number (nth 2 event))))
((equal (car event) "h")
@@ -1155,7 +1155,8 @@
last-date-limited nil)
(if beg
;; XEmacs change
- (error "Error in format of timelog file, line %d" line)
+ (error "Error in format of timelog file, line %d"
+ (line-number))
(setq beg (timeclock-time-to-seconds (cadr event))))))
((equal (downcase (car event)) "o")
(if (and (nth 2 event)
@@ -1163,7 +1164,8 @@
(add-to-list 'timeclock-reason-list (nth 2 event)))
(if (not beg)
;; XEmacs change
- (error "Error in format of timelog file, line %d" line)
+ (error "Error in format of timelog file, line %d"
+ (line-umber))
(setq timeclock-last-period
(- (timeclock-time-to-seconds (cadr event)) beg)
accum (+ timeclock-last-period accum)
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[A] Improve interactivity of custom prompting
17 years, 3 months
Didier Verna
Dear reviewers,
this patch greatly enhances the capabilities of Custom prompting
for options of type (or containing members of type) 'group and
'checklist. A more detailed description is given in the ChangeLog
header. Let me just add that I took the liberty of putting myself as a
maintainer of cus-edit and wid-edit; something that Hrvoje asked me to
do a couple of years back (I don't think he changed his mind since then
;-)
I'll apply it in a couple of days if nobody objects.
Vin, I would like to see a similar patch applied to 21.4 (I'm prepared
to create it). The reason is that I actually need it for a package of
mine (not yet released) and I would like to see this package working
with 21.4 also. However, I would accept a "request denied" response,
since technically, this patch doesn't contain a bug fix, but new
features. And who knows what I'm breaking with it ;-)
lisp/ChangeLog addition:
2007-09-18 Didier Verna <didier(a)xemacs.org>
Improvements in user options interactive prompting. This mainly
involves the following: before this patch, options of type 'group
or 'checklist were prompted by full sexp, without taking a
possible default value into account. Now, the user interaction
features individual prompting _with completion_ for each group or
checklist member. For group options, an optional default value is
also handled on an individual group member basis.
* cus-edit.el (customize-set-value): Suppress the final ": " from
created prompts.
(customize-set-variable): Ditto.
(customize-save-variable): Ditto.
(custom-prompt-variable): Add final ": " to prompts if needed.
* wid-edit.el (widget-prompt-spaceify): New. Add trailing space to
string if needed.
(widget-prompt): New. Construct a prompt for a widget.
(widget-prompt-value): Use it; make prompt argument optional.
(widget-default-prompt-value): Add final ": " to prompt.
(widget-field-prompt-internal): Ditto.
(widget-sexp-prompt-value): Ditto.
(widget-file-prompt-value): Ditto.
(widget-symbol-prompt-internal): Ditto.
(widget-choice-prompt-value): Ditto.
(widget-boolean-prompt-value): Ditto.
(widget-checklist-prompt-value): New. Prompt value with completion.
(checklist): Make the widget aware of it.
(widget-group-prompt-value): New. Prompt value with completion;
handle default value individually for each group member.
* wid-edit.el (group): Make the widget aware of it.
XEmacs source patch:
Diff command: cvs -q diff -u -t -b -B -w
Files affected: lisp/wid-edit.el lisp/cus-edit.el
Index: lisp/cus-edit.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/cus-edit.el,v
retrieving revision 1.24
diff -u -u -t -b -B -w -r1.24 cus-edit.el
--- lisp/cus-edit.el 21 Jun 2007 13:39:10 -0000 1.24
+++ lisp/cus-edit.el 18 Sep 2007 14:54:44 -0000
@@ -1,10 +1,11 @@
;;; cus-edit.el --- Tools for customizating Emacs and Lisp packages.
;;
+;; Copyright (C) 2007 Didier Verna
+;; Copyright (C) 2003 Ben Wing
;; Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
-;; Copyright (C) 2003 Ben Wing.
;;
;; Author: Per Abrahamsen <abraham(a)dina.kvl.dk>
-;; Maintainer: Hrvoje Niksic <hniksic(a)xemacs.org>
+;; Maintainer: Didier Verna <didier(a)xemacs.org>
;; Keywords: help, faces
;; Version: 1.9960-x
;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
@@ -662,7 +663,7 @@
If optional COMMENT argument is non nil, also prompt for a comment and return
it as the third element in the list."
- (let* ((var (read-variable prompt-var))
+ (let* ((var (read-variable (concat prompt-var ": ")))
(minibuffer-help-form '(describe-variable var))
(val
(let ((prop (get var 'variable-interactive))
@@ -683,12 +684,11 @@
(symbol-value var))
(not (boundp var))))
(t
- (eval-minibuffer prompt))))))
+ (eval-minibuffer (concat prompt ": ")))))))
(if comment
(list var val
(read-string "Comment: " (get var 'variable-comment)))
- (list var val))
- ))
+ (list var val))))
;;;###autoload
(defun customize-set-value (var val &optional comment)
@@ -701,8 +701,8 @@
`:prompt-value' property of that widget will be used for reading the value.
If given a prefix (or a COMMENT argument), also prompt for a comment."
- (interactive (custom-prompt-variable "Set variable: "
- "Set %s to value: "
+ (interactive (custom-prompt-variable "Set variable"
+ "Set value of %s"
current-prefix-arg))
(set var val)
@@ -728,8 +728,8 @@
`:prompt-value' property of that widget will be used for reading the value.
If given a prefix (or a COMMENT argument), also prompt for a comment."
- (interactive (custom-prompt-variable "Set variable: "
- "Set customized value for %s to: "
+ (interactive (custom-prompt-variable "Set variable"
+ "Set customized value of %s"
current-prefix-arg))
(funcall (or (get variable 'custom-set) 'set-default) variable value)
(put variable 'customized-value (list (custom-quote value)))
@@ -757,8 +757,8 @@
`:prompt-value' property of that widget will be used for reading the value.
If given a prefix (or a COMMENT argument), also prompt for a comment."
- (interactive (custom-prompt-variable "Set and save variable: "
- "Set and save value for %s as: "
+ (interactive (custom-prompt-variable "Set and save variable"
+ "Set and save value of %s"
current-prefix-arg))
(funcall (or (get variable 'custom-set) 'set-default) variable value)
(put variable 'saved-value (list (custom-quote value)))
Index: lisp/wid-edit.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/wid-edit.el,v
retrieving revision 1.32
diff -u -u -t -b -B -w -r1.32 wid-edit.el
--- lisp/wid-edit.el 17 Mar 2006 16:50:04 -0000 1.32
+++ lisp/wid-edit.el 18 Sep 2007 14:54:44 -0000
@@ -1,9 +1,10 @@
;;; wid-edit.el --- Functions for creating and using widgets.
;;
+;; Copyright (C) 2007 Didier Verna
;; Copyright (C) 1996-1997, 1999-2002 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham(a)dina.kvl.dk>
-;; Maintainer: Hrvoje Niksic <hniksic(a)xemacs.org>
+;; Maintainer: Didier Verna <didier(a)xemacs.org>
;; Keywords: extensions
;; Version: 1.9960-x
;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
@@ -706,15 +707,44 @@
;;
;; These are widget specific.
+;; #### Note: this should probably be a more general utility -- dvl
+(defsubst widget-prompt-spaceify (prompt)
+ ;; Add a space at the end of PROMPT if needed
+ (if (or (string= prompt "") (eq ? (aref prompt (1- (length prompt)))))
+ prompt
+ (concat prompt " ")))
+
+(defsubst widget-prompt (widget &optional prompt default-prompt)
+ ;; Construct a prompt for WIDGET.
+ ;; - If PROMPT is given, use it.
+ ;; - Otherwise, use the :tag property, if any.
+ ;; - Otherwise, use DEFAULT-PROMPT, if given.
+ ;; - Otherise, use "Value".
+ ;; - If the result is not the empty string, add a space for later addition
+ ;; of the widget type by `widget-prompt-value'.
+ (unless prompt
+ (setq prompt (or (and (widget-get widget :tag)
+ (replace-in-string (widget-get widget :tag)
+ "^[ \t]+" "" t))
+ default-prompt
+ "Value")))
+ (widget-prompt-spaceify prompt))
+
+
;;;###autoload
-(defun widget-prompt-value (widget prompt &optional value unbound)
- "Prompt for a value matching WIDGET, using PROMPT.
+(defun widget-prompt-value (widget &optional prompt value unbound)
+ "Prompt for a value matching WIDGET.
+Prompt with PROMPT, or WIDGET's :tag otherwise.
The current value is assumed to be VALUE, unless UNBOUND is non-nil."
(unless (listp widget)
(setq widget (list widget)))
- (setq prompt (format "[%s] %s" (widget-type widget) prompt))
(setq widget (widget-convert widget))
- (let ((answer (widget-apply widget :prompt-value prompt value unbound)))
+ (let ((answer (widget-apply widget
+:prompt-value
+ (format "%s[%s]"
+ (widget-prompt widget prompt)
+ (widget-type widget))
+ value unbound)))
(while (not (widget-apply widget :match answer))
(setq answer (signal 'error (list "Answer does not match type"
answer (widget-type widget)))))
@@ -2001,7 +2031,7 @@
;; It would be nice if we could do a `(cons val 1)' here.
;; (prin1-to-string (custom-quote value))))))
;; XEmacs: make this use default VALUE. Need to check callers.
- (eval-minibuffer prompt))
+ (eval-minibuffer (concat prompt ": ")))
;;; The `item' Widget.
@@ -2224,7 +2254,7 @@
"Read string for WIDGET prompting with PROMPT.
INITIAL is the initial input and HISTORY is a symbol containing
the earlier input."
- (read-string prompt initial history))
+ (read-string (concat prompt ": ") initial history))
(defun widget-field-prompt-value (widget prompt value unbound)
"Prompt for a string."
@@ -2577,6 +2607,7 @@
:value-create 'widget-checklist-value-create
:value-delete 'widget-children-value-delete
:value-get 'widget-checklist-value-get
+:prompt-value 'widget-checklist-prompt-value
:validate 'widget-checklist-validate
:match 'widget-checklist-match
:match-inline 'widget-checklist-match-inline)
@@ -2701,6 +2732,27 @@
(setq result (append result (widget-apply child :value-inline)))))
result))
+;; #### FIXME: should handle default value some day -- dvl
+(defun widget-checklist-prompt-value (widget prompt value unbound)
+ ;; Prompt for items to be selected, and the prompt for their value
+ (let* ((args (widget-get widget :args))
+ (choices (mapcar (lambda (elt)
+ (cons (widget-get elt :tag) elt))
+ args))
+ (continue t)
+ value)
+ (while continue
+ (setq continue (completing-read
+ (concat (widget-prompt-spaceify prompt)
+ "select [ret. when done]: ")
+ choices nil t))
+ (if (string= continue "")
+ (setq continue nil)
+ (push (widget-prompt-value (cdr (assoc continue choices))
+ prompt nil t)
+ value)))
+ (nreverse value)))
+
(defun widget-checklist-validate (widget)
;; Ticked children must be valid.
(let ((children (widget-get widget :children))
@@ -3116,6 +3168,7 @@
:value-delete 'widget-children-value-delete
:value-get 'widget-editable-list-value-get
:default-get 'widget-group-default-get
+:prompt-value 'widget-group-prompt-value
:validate 'widget-children-validate
:match 'widget-group-match
:match-inline 'widget-group-match-inline)
@@ -3146,6 +3199,36 @@
;; Get the default of the components.
(mapcar 'widget-default-get (widget-get widget :args)))
+(defun widget-group-prompt-value (widget prompt value unbound)
+ ;; Prompt in turn for every component of the group.
+ (let ((args (widget-get widget :args)))
+ (widget-apply
+ widget :value-to-external
+ (if unbound
+ (mapcar #'(lambda (arg)
+ (widget-prompt-value
+ arg
+ (concat (widget-prompt-spaceify prompt)
+ (widget-prompt arg nil ""))
+ nil t))
+ args)
+ ;; If VALUE is bound, the situation is a bit more complex because we
+ ;; have to split it into a list of default values for every child. Oh,
+ ;; boy, do I miss 'cl here... -- dvl
+ (let ((children args)
+ (defaults (widget-apply widget
+:value-to-internal value))
+ child default result)
+ (while (setq child (pop children))
+ (setq default (pop defaults))
+ (push
+ (widget-prompt-value
+ child
+ (concat (widget-prompt-spaceify prompt)
+ (widget-prompt child nil ""))
+ default) result))
+ (nreverse result))))))
+
(defun widget-group-match (widget values)
;; Match if the components match.
(and (listp values)
@@ -3378,7 +3461,7 @@
(defun widget-sexp-prompt-value (widget prompt value unbound)
;; Read an arbitrary sexp.
- (let ((found (read-string prompt
+ (let ((found (read-string (concat prompt ": ")
(if unbound nil (cons (prin1-to-string value) 0))
(widget-get widget :prompt-history))))
(save-excursion
@@ -3502,8 +3585,8 @@
;; Read file from minibuffer.
(abbreviate-file-name
(if unbound
- (read-file-name prompt)
- (let ((prompt2 (format "%s (default %s) " prompt value))
+ (read-file-name (concat prompt ": "))
+ (let ((prompt2 (format "%s: (default %s) " prompt value))
(dir (file-name-directory value))
(file (file-name-nondirectory value))
(must-match (widget-get widget :must-match)))
@@ -3552,7 +3635,7 @@
(defun widget-symbol-prompt-internal (widget prompt initial history)
;; Read file from minibuffer.
- (let ((answer (completing-read prompt obarray
+ (let ((answer (completing-read (concat prompt ": ") obarray
(widget-get widget :prompt-match)
nil initial history)))
(if (and (stringp answer)
@@ -3824,25 +3907,20 @@
(let ((args (widget-get widget :args))
(completion-ignore-case (widget-get widget :case-fold))
current choices old)
- ;; Find the first arg that matches VALUE.
+ ;; Find the first choice matching VALUE (if given):
+ (unless unbound
(let ((look args))
(while look
(if (widget-apply (car look) :match value)
(setq old (car look)
look nil)
(setq look (cdr look)))))
- ;; Find new choice.
- (setq current
- (cond ((= (length args) 0)
- nil)
- ((= (length args) 1)
- (nth 0 args))
- ((and (= (length args) 2)
- (memq old args))
- (if (eq old (nth 0 args))
- (nth 1 args)
- (nth 0 args)))
- (t
+ ;; If VALUE is invalid (it doesn't match any choice), discard it by
+ ;; considering it unbound:
+ (unless old
+ (setq unbound t)))
+ ;; Now offer the choice, providing the given default value when/where
+ ;; appropriate:
(while args
(setq current (car args)
args (cdr args))
@@ -3850,16 +3928,24 @@
(cons (cons (widget-apply current :menu-tag-get)
current)
choices)))
- (let ((val (completing-read prompt choices nil t)))
- (if (stringp val)
+ (setq current
+ (let ((val (completing-read (concat prompt ": ") choices nil t
+ (when old
+ (widget-apply old :menu-tag-get)))))
+ (if (stringp val) ;; #### is this really needed ? --dvl
(let ((try (try-completion val choices)))
- (when (stringp try)
+ (when (stringp try) ;; #### and this ? --dvl
(setq val try))
(cdr (assoc val choices)))
- nil)))))
+ nil)))
(if current
- (widget-prompt-value current prompt nil t)
- value)))
+ (widget-prompt-value current
+ (concat (widget-prompt-spaceify prompt)
+ (widget-get current :tag))
+ (unless unbound
+ (when (eq current old) value))
+ (or unbound (not (eq current old))))
+ (and (not unbound) value))))
(define-widget 'radio 'radio-button-choice
"A set widget, selecting exactly one from many.
@@ -3891,7 +3977,7 @@
(defun widget-boolean-prompt-value (widget prompt value unbound)
;; Toggle a boolean.
- (y-or-n-p prompt))
+ (y-or-n-p (concat prompt ": ")))
;;; The `color' Widget.
--
New @-quartet featured CD Review !!
http://www.indie-music.com/modules.php?name=News&file=article&sid=6457
Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier(a)xemacs.org
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[AC] [R21.4] Personal update
17 years, 3 months
Didier Verna
NOTE: This patch has been committed. The version below is
informational only (whitespace differences have been removed).
Dear reviewers,
the following patch updates my personal info. Recommended for 21.4.
lisp/ChangeLog addition:
2007-09-19 Didier Verna <didier(a)xemacs.org>
Update my personal info.
* about.el (xemacs-hackers): Use 'didier instead of 'dv.
* about.el (about-other-current-hackers): Ditto.
* about.el (about-url-alist): Add my musical website.
* about.el (about-personal-info): Update my entry.
* about.el (about-hacker-contribution): Ditto.
etc/ChangeLog addition:
2007-09-19 Didier Verna <didier(a)lrde.epita.fr>
* photos/dv.png: Remove.
* photos/didier.png: Add.
XEmacs source patch:
Diff command: cvs -q diff -u -t -b -B -w
Files affected: lisp/about.el
Index: lisp/about.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/about.el,v
retrieving revision 1.68
diff -u -u -t -b -B -w -r1.68 about.el
--- lisp/about.el 10 Dec 2005 07:43:05 -0000 1.68
+++ lisp/about.el 19 Sep 2007 14:42:49 -0000
@@ -113,7 +113,7 @@
(devin "Matthieu Devin" "devin(a)xemacs.org")
(dkindred "Darrell Kindred" "dkindred(a)xemacs.org")
(dmoore "David Moore" "dmoore(a)xemacs.org")
- (dv "Didier Verna" "didier(a)xemacs.org")
+ (didier "Didier Verna" "didier(a)xemacs.org")
(eb "Eric Benson" "eb(a)xemacs.org")
(fabrice "Fabrice Popineau" "fabrice(a)xemacs.org")
(golubev "Ilya Golubev" "golubev(a)xemacs.org")
@@ -178,9 +178,9 @@
(defvar about-other-current-hackers
;; to sort this list or the one below, use:
;; M-x sort-regexp-fields RET [a-z]+ RET \(.*\) RET
- '(ben daiki darrylo dv fabrice golubev hniksic jan jason jmiller jonathan
- kazz kirill larsi martin morioka mta ograf olivier oscar rossini pittman
- scop tomonori tuck wmperry yoshiki))
+ '(ben daiki darrylo didier fabrice golubev hniksic jan jason jmiller
+ jonathan kazz kirill larsi martin morioka mta ograf olivier oscar rossini
+ pittman scop tomonori tuck wmperry yoshiki))
(defvar about-once-and-future-hackers
'(aj ajc alastair baw bw cgw chr craig cthomp dan devin dkindred dmoore eb
@@ -204,7 +204,8 @@
(daiki . "http://deisui.bug.org/diary/servlet/view")
(dkindred . "http://www.cs.cmu.edu/People/dkindred/me.html")
(dmoore . "http://oj.egbt.org/dmoore/")
- (dv . "http://www.lrde.epita.fr/~didier/")
+ (didier . "http://didier.lrde.org/")
+ (dvljazz . "http://www.didierverna.com/")
(fabrice . "http://www.ese-metz.fr/~popineau/")
(fptex . "http://www.fptex.org/")
(james . "http://www.cs.usu.edu/~jerry/")
@@ -979,24 +980,30 @@
He has a page at ")
(about-url-link 'dmoore nil "Visit David's home page")
(widget-insert ".\n"))
- (dv
+ (didier
(widget-insert "\
-I graduated at ENST (an engineering school in Paris) and have a Ph.D.
-in computer science. I'm currently a teacher at EPITA (another
-engineering school, still in Paris) and a researcher at LRDE (EPITA's
-research and development laboratory). Our research topics include
-generic programming and distributed virtual reality.
-
-Apart from XEmacs, I'm also involved in other free software projects,
-including Gnus, BBDB, and the GNU \"autotools\". I also wrote some
-LaTeX packages (ugh :-).
-
-All of this, actually, is only 60% true. Two days per week, I'm also a
-semi-professional Jazz guitar player (and singer), which means that it
-is not the way I earn my crust, but things may very well reverse in
-the future ...\n\n")
- (widget-insert "Visit Didier's home page: ")
- (about-url-link 'dv nil "Visit Didier's home page")
+Didier has a Ph.D. in Computer Science and is currently working as an
+assistant professor for an engineering school in Paris). He gives
+lectures on Operating Systems, Computer Graphics, Functional Programming
+and Typesetting. His research interests include Genericity, Object
+Orientation and Functional Programming, all in one language:
+
+... Common Lisp.
+
+
+Apart from the world of XEmacs and Emacs Lisp, Didier is also the author
+of several LaTeX packages (FiNK, FiXme, QCM and CurVe) and an occasional
+contributor to other Free Software projects (the GNU Autotools most
+notably; he was one of the technical reviewers for the \"Goat Book\").
+
+But all of this is only 60% true... Two days per week, Didier is indeed
+a semi-professional Jazz guitar player (and singer), which means that he
+doesn't quite earn his crust with it, but things may very well reverse in
+the future...\n")
+ (widget-insert "\nVisit Didier's scientific website: ")
+ (about-url-link 'didier nil "Visit Didier's scientific website")
+ (widget-insert "\nVisit Didier's musical website: ")
+ (about-url-link 'dvljazz nil "Visit Didier's musical website")
(widget-insert "\n"))
(eb
(widget-insert
@@ -1620,18 +1627,17 @@
(dmoore
(widget-insert "\
David has contributed greatly to the quest to speed up XEmacs.\n"))
- (dv
+ (didier
(widget-insert "\
-I joined the development of XEmacs in 1996, and have been one of the
-core maintainers since 1998. Although I'm mostly interested in the
-GUI, ergonomics, redisplay and autoconf issues, it's probably simpler
-to describe what I'm *not* involved in: I've never touched the Lisp
-implementation, and I probably never will...
-
-I'm the author of the multicast support, I wrote and maintain some
-external Emacs Lisp packages (including mchat) and I'm also
-responsible for some of the core Lisp code (including the rectangle
-library which I rewrote for both XEmacs and GNU Emacs).\n"))
+Didier joined the development of XEmacs in 1996, and has been one of
+the core maintainers since 1998. His very first contribution was the
+translation of the tutorial to French. Since then, he has contributed
+various bug fixes and enhancements in fields as diverse as the GUI,
+redisplay engine and autoconf support.
+
+Didier is the official maintainer of some core libraries (rect, cus-edit,
+wid-edit) and the author of the multicast support. He is also the author
+of several packages, including mchat and Patcher.\n"))
(eb
(widget-insert "\
Also part of the original Lucid Emacs development team. Eric played a
cvs server: etc/photos/dv.png was removed, no comparison available
cvs server: etc/photos/didier.png is a new entry, no comparison available
--
New @-quartet featured CD Review !!
http://www.indie-music.com/modules.php?name=News&file=article&sid=6457
Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier(a)xemacs.org
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[PATCH 21.5] Plug Xft font leak
17 years, 3 months
Jerry James
PATCH 21.5
This fixes some of the memory leaks that valgrind complains about.
There are more lurking; stand by.
lwlib/ChangeLog addition:
2007-09-15 Jerry James <james(a)xemacs.org>
* xlwmenu.c (XlwMenuDestroy): Release XftFont resources
* xlwtabs.c (TabsDestroy): Ditto
xemacs-21.5 source patch:
Diff command: cvs -q diff -uN
Files affected: lwlib/xlwtabs.c
===================================================================
RCS lwlib/xlwmenu.c
===================================================================
RCS
Index: lwlib/xlwmenu.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lwlib/xlwmenu.c,v
retrieving revision 1.43
diff -d -u -u -r1.43 xlwmenu.c
--- lwlib/xlwmenu.c 2006/11/17 02:50:22 1.43
+++ lwlib/xlwmenu.c 2007/09/15 22:56:29
@@ -3351,6 +3351,10 @@
XFreePixmap (XtDisplay (mw), mw->menu.gray_pixmap);
mw->menu.gray_pixmap = (Pixmap) -1;
+#ifdef USE_XFT_MENUBARS
+ XftFontClose (XtDisplay (mw), mw->menu.renderFont);
+#endif
+
/* Don't free mw->menu.contents because that comes from our creator.
The `*_stack' elements are just pointers into `contents' so leave
that alone too. But free the stacks themselves. */
Index: lwlib/xlwtabs.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lwlib/xlwtabs.c,v
retrieving revision 1.9
diff -d -u -u -r1.9 xlwtabs.c
--- lwlib/xlwtabs.c 2006/11/17 02:50:22 1.9
+++ lwlib/xlwtabs.c 2007/09/15 22:56:29
@@ -572,7 +572,11 @@
static void
TabsDestroy(Widget w)
{
- TabsFreeGCs((TabsWidget)w) ;
+ TabsWidget tw = (TabsWidget) w;
+#ifdef USE_XFT_TABS
+ XftFontClose (XtDisplay (w), tw->tabs.renderFont);
+#endif /* ! USE_XFT_TABS */
+ TabsFreeGCs (tw) ;
}
--
Jerry James
http://loganjerry.googlepages.com/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
Patcher 3.9 is released
17 years, 3 months
Didier Verna
Hello,
I have just committed the next edition of Patcher, with two small
improvements:
* Version 3.9:
==============
** the :change-logs-user-[name|mail] options now default to :user-[name|mail]
** support for Darcs
through a built-in function patcher-darcs-diff-convert
Index: patcher.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/xemacs-devel/patcher.el,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -u -b -t -w -B -r1.23 -r1.24
--- patcher.el 26 Jul 2005 14:20:07 -0000 1.23
+++ patcher.el 17 Sep 2007 09:26:01 -0000 1.24
@@ -1,13 +1,12 @@
;;; patcher.el --- Utility for mailing patch information
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Didier Verna.
-
-;; PRCS: $Id: patcher.el 1.16.1.60.1.17 Tue, 26 Jul 2005 15:53:03 +0200 didier $
+;; Copyright (C) 2007 Didier Verna.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Didier Verna.
;; Author: Didier Verna <didier(a)xemacs.org>
;; Maintainer: Didier Verna <didier(a)xemacs.org>
;; Created: Tue Sep 28 18:12:43 1999
-;; Last Revision: Tue Aug 31 14:14:48 2004
+;; Last Revision: Mon Sep 17 09:45:22 2007
;; Keywords: maint
;; This file is part of Patcher.
@@ -169,26 +168,8 @@
;; Version management
;; ===========================================================================
-;; $Format: "(defconst patcher-prcs-major-version \"$ProjectMajorVersion$\")"$
-(defconst patcher-prcs-major-version "version-3-8")
-;; $Format: "(defconst patcher-prcs-minor-version \"$ProjectMinorVersion$\")"$
-(defconst patcher-prcs-minor-version "1")
-(defconst patcher-version
- (let ((level patcher-prcs-minor-version)
- major minor status)
- (string-match "\\(branch\\|version\\)-\\([0-9]+\\)-\\([0-9]+\\)"
- patcher-prcs-major-version)
- (setq major (match-string 2 patcher-prcs-major-version)
- minor (match-string 3 patcher-prcs-major-version)
- status (match-string 1 patcher-prcs-major-version))
- (cond ((string= status "version")
- (setq level (int-to-string (1- (string-to-int level))))
- (if (string-equal level "0")
- (concat major "." minor)
- (concat major "." minor "." level)))
- ((string= status "branch")
- (concat major "." minor "-b" level)))
- ))
+(defconst patcher-version "3.9"
+ "Current version of Patcher")
;;;###autoload
(defun patcher-version ()
@@ -1793,10 +1774,14 @@
(narrow-to-region (or min (point-min)) (or max (point-max)))
(patch-to-change-log
default-directory
-:my-name (patcher-project-option patcher-project
+:my-name (or (patcher-project-option patcher-project
:change-logs-user-name)
-:my-email (patcher-project-option patcher-project
+ (patcher-project-option patcher-project
+:user-name))
+:my-email (or (patcher-project-option patcher-project
:change-logs-user-mail)
+ (patcher-project-option patcher-project
+:user-mail))
:keep-source-files
(not (patcher-project-option patcher-project
:kill-source-files-after-diffing))
@@ -1926,8 +1911,20 @@
(setq beg (point))
(skip-chars-forward "^/")
(forward-char 1)
- (delete-region beg (point)))
- )
+ (delete-region beg (point))))
+
+(defun patcher-darcs-diff-convert (&optional beg end)
+ "Patcher post-processor for Darcs diffs.
+This function removes the Darcs repository-specific path in front of
+filenames to turn the output into a standard diff output.
+This function is meant to be used as part of the :after-diff-hook
+project option"
+ (goto-char (or beg (point-min)))
+ (while (re-search-forward "^\\(---\\|\\+\+\\+\\) " end t)
+ (setq beg (point))
+ (skip-chars-forward "^/")
+ (forward-char 1)
+ (delete-region beg (point))))
(defun patcher-run-after-diff-hook (buffer &optional beg end)
;; If any, call the after-diff hooks on BUFFER (auxiliary or mail
Index: texi/patcher.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/xemacs-devel/texi/patcher.texi,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -u -b -t -w -B -r1.13 -r1.14
--- texi/patcher.texi 26 Jul 2005 14:20:11 -0000 1.13
+++ texi/patcher.texi 17 Sep 2007 09:26:05 -0000 1.14
@@ -2,14 +2,12 @@
@c patcher.texi --- Patcher documentation
-@c Copyright (C) 2002, 2003, 2004 Didier Verna.
+@c Copyright (C) 2002, 2003, 2004, 2007 Didier Verna.
-@c PRCS: $Id: patcher.texi 1.23.1.7 Tue, 26 Jul 2005 15:53:03 +0200 didier $
-
-@c Author: Didier Verna <didier(a)lrde.epita.fr>
-@c Maintainer: Didier Verna <didier(a)lrde.epita.fr>
-@c Created: Sun Apr 21 21:34:06 2002 under XEmacs 21.5 (beta 1)
-@c Last Revision: Tue Aug 31 14:14:48 2004
+@c Author: Didier Verna <didier(a)xemacs.org>
+@c Maintainer: Didier Verna <didier(a)xemacs.org>
+@c Created: Sun Apr 21 21:34:06 2002 under XEmacs 21.5
+@c Last Revision: Mon Sep 17 09:51:41 2007
@c This file is part of Patcher.
@@ -52,8 +50,8 @@
@c ====================================================================
@c Definitions
@c ====================================================================
-@set VERSION 3.8
-@set COPYRIGHT_DATE 1999, 2000, 2001, 2002, 2003, 2004, 2005
+@set VERSION 3.9
+@set COPYRIGHT_DATE 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
@c ====================================================================
@@ -188,11 +186,11 @@
When a project becomes important in size, or when the development is
performed cooperatively by several people across the Internet, it is a
common practice to help maintaining it by using a development control
-system. Such tools (CVS, PRCS, to name a few) usually work by
-maintaining a centralized project archive (also called a repository)
-that keeps track of the history of the changes, lets you develop
-different ``branches'' at the same time and perform operations like
-merges between these different project branches.
+system. Such tools (CVS, SVN, PRCS, Darcs to name a few) usually work
+by maintaining a centralized project archive (also called a
+repository) that keeps track of the history of the changes, lets you
+develop different ``branches'' at the same time and perform operations
+like merges between these different project branches.
In such ``archive-based'' maintenance models, making the project evolve
usually involves repeatedly the same few steps, some of which can be
@@ -754,7 +752,7 @@
(@code{To:} address, @code{From:} address, diff and commit commands and
so on) because they both relate to XEmacs. On the other hand I have
personal but totally unrelated projects that share the same commands
-because they are all handled through a local PRCS archive.
+because they are all handled through a common system: Darcs.
In other words, you should rather use the inheritance mechanism when
projects relate to each other, and the theme mechanism for settings that
@@ -1107,6 +1105,11 @@
@code{patcher-prcs-diff-convert} that can be used in this hook in order
to convert PRCS diff output to a traditional one.
+@findex patcher-prcs-darcs-convert
+Note: Patcher provides a special function named
+@code{patcher-prcs-darcs-convert} that can be used in this hook in order
+to convert Darcs diff output to a traditional one.
+
@node Diff Line Filter, Patch Restriction, After Diff Hook, Patch Generation
@comment node-name, next, previous, up
@@ -1333,8 +1336,12 @@
@vindex patcher-default-change-logs-user-name
@vindex :change-logs-user-name
+@vindex patcher-default-user-name
+@vindex:user-name
@vindex patcher-default-change-logs-user-mail
@vindex :change-logs-user-mail
+@vindex patcher-default-user-mail
+@vindex:user-mail
@findex patch-to-change-log
@vindex user-full-name
@vindex user-mail-address
@@ -1342,7 +1349,9 @@
other project options that give you some control on the created entries:
@code{:change-logs-user-name} and @code{:change-logs-user-mail}. As you
might expect, these are strings defining your name and mail address for
-ChangeLog entries'headers. When @code{nil}, Patcher lets the function
+ChangeLog entries'headers. When @code{nil}, Patcher falls back to
+(respectively) the @code{:user-name} and @code{:user-mail} project
+options. If in turn set to nil, Patcher lets the function
@code{patch-to-change-log} decide what to use (most probably what the
user options @code{user-full-name} and @code{user-mail-address} say).
--
New @-quartet featured CD Review !!
http://www.indie-music.com/modules.php?name=News&file=article&sid=6457
Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier(a)xemacs.org
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C] xemacsweb: Resolve issue 33, [Req #20531]
17 years, 3 months
Adrian Aichner
COMMIT
I'll followup on the missing commits.
Adrian
xemacsweb ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: About/ChangeLog
xemacsweb source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: About/XEmacsServices.content
===================================================================
RCS
Index: About/XEmacsServices.content
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/XEmacsServices.content,v
retrieving revision 1.64
diff -u -w -r1.64 XEmacsServices.content
--- About/XEmacsServices.content 15 Sep 2007 18:27:33 -0000 1.64
+++ About/XEmacsServices.content 15 Sep 2007 19:29:48 -0000
@@ -66,7 +66,7 @@
<td rowspan="4" valign="top"><a id="issue33" name="issue33">33</a></td>
<td>CVS down for cvs.xemacs.org, HTTP unavailable for http://www.dk.xemacs.org/</td>
<td nowrap="nowrap">2007-09-08</td>
- <td nowrap="nowrap"><!-- Date fixed --> </td>
+ <td nowrap="nowrap">2007-09-15</td>
</tr>
<tr>
<!-- one of (td th) -->
@@ -82,18 +82,19 @@
<tr>
<!-- one of (td th) -->
<td colspan="3">
- <p>As of Sat Sep 15 11:15:57 2007 -0700, CVS is back up. We
- have no confirmation from dotsrc at this time so we assume
- that these issues are still being worked on. Service may
- be intermittent, so commits should be avoided.</p>
+ <p>Both issues have been resolved by data restore.</p>
+ <p>Some commits, which happened between the most recent
+ backup and the server crash, have been lost and will need to
+ be committed again. CVSROOT/history of the backup is dated
+ 2007-09-05 00:26. Affected commiters will contacted
+ individually.</p>
</td>
</tr>
<tr>
<!-- one of (td th) -->
<td colspan="3">
<p>One of the servers of <a
- href="http://dotsrc.org/">dotsrc.org</a> broke down. The
- problem is expected to be resolved today, 2007-09-10.</p>
+ href="http://dotsrc.org/">dotsrc.org</a> broke down.</p>
</td>
</tr>
<!-- End of section to copy. -->
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
Update CVS status in XEmacsServices.html
17 years, 3 months
Stephen J. Turnbull
APPROVE COMMIT web
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/ChangeLog,v
retrieving revision 1.270
diff -u -U0 -r1.270 ChangeLog
--- ChangeLog 20 Aug 2007 19:26:18 -0000 1.270
+++ ChangeLog 15 Sep 2007 18:20:02 -0000
@@ -0,0 +1,5 @@
+2007-09-15 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * index.content: Remove news-no-longer item about mailing lists.
+ Add news that CVS is up.
+
Index: About/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/ChangeLog,v
retrieving revision 1.210
diff -u -U0 -r1.210 ChangeLog
--- About/ChangeLog 8 Apr 2007 08:10:37 -0000 1.210
+++ About/ChangeLog 15 Sep 2007 18:20:02 -0000
@@ -0,0 +1,6 @@
+2007-09-15 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * XEmacsServices.content: Update from Adrian's temporary direct
+ edit at www.xemacs.org dated Sept 10 09:21, and update status in
+ that entry.
+
Index: index.content
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/index.content,v
retrieving revision 1.179
diff -u -U0 -r1.179 index.content
--- index.content 20 Aug 2007 19:26:19 -0000 1.179
+++ index.content 15 Sep 2007 18:20:43 -0000
@@ -41,2 +41,2 @@
- <strong>XEmacs mailing lists are back up. They have been
- reorganized, and some services remain unavailable.</strong> See
+ <strong>XEmacs CVS is back up, thanks to the efforts of our hosts
+ at dotsrc.org.</strong> See
Index: About/XEmacsServices.content
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/XEmacsServices.content,v
retrieving revision 1.63
diff -u -U0 -r1.63 XEmacsServices.content
--- About/XEmacsServices.content 13 Oct 2006 17:18:54 -0000 1.63
+++ About/XEmacsServices.content 15 Sep 2007 18:20:43 -0000
@@ -65,0 +66,36 @@
+ <td rowspan="4" valign="top"><a id="issue33" name="issue33">33</a></td>
+ <td>CVS down for cvs.xemacs.org, HTTP unavailable for http://www.dk.xemacs.org/</td>
+ <td nowrap="nowrap">2007-09-08</td>
+ <td nowrap="nowrap"><!-- Date fixed --> </td>
+ </tr>
+ <tr>
+ <!-- one of (td th) -->
+ <td colspan="3">
+ <pre xml:space="preserve">
+ssh: connect to host cvs.xemacs.org port 22: Connection timed out
+ </pre>
+ <pre xml:space="preserve">
+HTTP request sent, awaiting response... 504 Gateway Time-out
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <!-- one of (td th) -->
+ <td colspan="3">
+ <p>As of Sat Sep 15 11:15:57 2007 -0700, CVS is back up. We
+ have no confirmation from dotsrc at this time so we assume
+ that these issues are still being worked on. Service may
+ be intermittent, so commits should be avoided.</p>
+ </td>
+ </tr>
+ <tr>
+ <!-- one of (td th) -->
+ <td colspan="3">
+ <p>One of the servers of <a
+ href="http://dotsrc.org/">dotsrc.org</a> broke down. The
+ problem is expected to be resolved today, 2007-09-10.</p>
+ </td>
+ </tr>
+ <!-- End of section to copy. -->
+ <tr>
+ <!-- one of (td th) -->
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C] Fix unwanted point moveage in VM
17 years, 3 months
Michael Sperber
Marcus Harnisch <marcus.harnisch(a)gmx.net> writes:
> Michael Sperber <sperber(a)informatik.uni-tuebingen.de> writes:
>> I vaguely suspect that's my fault (i.e. the window-config rewrite). I
>> don't use VM: It would greatly help if you could provide "instructions
>> for dummies" to reproduce the problem, i.e. of the form:
>>
>> do M-x vm RET
>
> [...]
> enter a folder with (> (frame-height)) messages
>
> C-x 1 ; see more of the summary
>
> move point to a message far down in the summary
>
> SPACE ; display message
>
> watch how summary window shrinks to make space for message body. The
> message number at the top of the summary window is the same as
> before. point is re-centered in current (shrunk) summary window.
OK, I've found this one. The reason is that VM uses
`delete-other-windows' in the process of recreating the correct window
configuration. ``delete-other-windows' tries to minimize redisplay and
thus keeps the top of the summary windows at the same place as before.
As the point is now offscreen, redisplay adjusts the point. However, we
want to keep the current point. I already encountered this problem when
rewriting the window configurations, and there's a function there that
already does the right thing.
(This window-point stuff and the interaction with redisplay is just
hideous. It took me a few hours to track this down.)
I'll hopefully be able to look into the flicker problem next week.
2007-09-07 Mike Sperber <mike(a)xemacs.org>
* tapestry.el (tapestry-set-window-map): Use
`frame-reduce-to-one-window' instead of `delete-other-windows' to
keep the point from moving inadvertently.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
Index: tapestry.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/tapestry.el,v
retrieving revision 1.5
diff -u -r1.5 tapestry.el
--- tapestry.el 3 Sep 2003 00:43:45 -0000 1.5
+++ tapestry.el 7 Sep 2007 08:29:13 -0000
@@ -205,7 +205,11 @@
root-window )
(if (tapestry-windows-match-map map map-width map-height)
(tapestry-first-window)
- (delete-other-windows)
+ (if (fboundp 'frame-reduce-to-one-window)
+ (frame-reduce-to-one-window (selected-frame))
+ ;; `delete-other-windows' may cause the window point to move
+ ;; as it tries to minimize redisplay
+ (delete-other-windows))
(setq root-window (selected-window))
(tapestry-apply-window-map map map-width map-height root-window)
(setq tapestry-windows-changed t)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches