Hi,
> Running a "tla archives" from a shell shows me the eight archives I
> have registered.
>
> Until recently, browsing archives in xtla showed the same eight.
Which xtla command do you use in this statement?
xtla-browse?
About "Until recently", did you change something?
e.g. xtla's version or tla's version.
> (setq
> emacs-version "22.0.50.1"
> tla-version "Unknown version"
I woner why tla-version is not set...
During xtla-1.1 development, I added temporary(add-hoc) code to handle
multiple locations like:
(defun tla--browse-expand-archives (root)
"Expand ROOT widget."
(or (and (not current-prefix-arg) (widget-get root :args))
(let ((default-archive (tla-my-default-archive)))
...
;; TODO(Multiple locations)
:archive-location ,(car (cadr archive))
:archive-defaultp ,(equal
default-archive
(car
archive))))))
Without this temporary code, xtla-browse may fail to get archive locations.
> [-] Archives
> ` [+] A [EMAIL PROTECTED] => *unknown now*
What happens if you press "g" on "Archives"?
It triggers refacing tla names.
> [-] Archives
> | [+] a [EMAIL PROTECTED] => *unknown now*
> ` [+] A [EMAIL PROTECTED] => *unknown now*
>
> My bookmarks, many of which related to peers of branches in these
> archives, look fine.
>
> Is this expected behavior? Did I do something wrong to cause all of
> my archives to disappear? What does the "*unknown now*" indicate?
Updating tree is no automatic if you create an archive, branch or something
not in tla-browse. If you carete one, you have to update the tree with "g" key.
However, "*unknown now*" is strange.
> Note that, while I am an expert Emacs and revision control system
> user/developer, I am new to Arch/tla/baz and xtla, so am still wet
> behind the ears.
Really nice. I'm lucky.
Look at tla--browse-expand-archives in xtla.el.
(defun tla--browse-expand-archives (root)
"Expand ROOT widget."
(or (and (not current-prefix-arg) (widget-get root :args))
(let ((default-archive (tla-my-default-archive)))
(setq tla--widget-archive-node-list nil)
(mapcar
(lambda (archive)
(let ((res
`(tree-widget
:open ,(tla--browse-open-list-member (car archive))
:has-children t
:dynargs tla--browse-expand-categories
:node (tla--widget-archive-node
:tag ,(if (equal default-archive (car archive))
tla--widget-archive-node-default-tag
tla--widget-archive-node-tag)
:archive ,(car archive)
;; TODO(Multiple locations)
:archive-location ,(car (cadr archive))
:archive-defaultp ,(equal
default-archive
(car
archive))))))
(widget-put (widget-get res :node) :parent res)
res))
(let* ((l tla--archive-tree))
(when (or (null l) current-prefix-arg)
(tla--archive-tree-build-archives nil t))
tla--archive-tree)))))
As I explained the location is stored t0 a widget at
;; TODO(Multiple locations)
:archive-location ,(car (cadr archive))
The value of `archive' comes from a list
(let* ((l tla--archive-tree))
(when (or (null l) current-prefix-arg)
(tla--archive-tree-build-archives nil t))
tla--archive-tree)
passed to mapcar.
I wonder what kind of values are stored to tla--archive-tree, a global
variable. When you can reproduce the bug, could you tell me the value
of `tla--archive-tree`, just C-j at *scratch*. We expect the locations
are stored to tla--archive-tree. If not the result of
(tla--archive-tree-build-archives nil t) is needed.
I'm using the latest code in this mail.
Please send xtla-browse.el you are using now, if you think it is
better.
Thanks in advance.
Masatake YAMATO