Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

DrRacket internal error for default save file location taken

オープン
#798 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
領域
desktop

調査の方向性

stack trace で示されている autosave-timer% の notify メソッドである framework/private/autosave.rkt:57 から始め、既存の PLT-autosave-toc-save.rktd の宛先がどのように処理されているかを調べてください。その宛先がすでに存在する状態で autosave を再現してください。報告された内部エラーが発生しなくなり、既存の autosave リストに対する意図された処理がカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

説明

On Racket v9.0 [cs], on a MacOS 14.3 (23D56) machine, if it matters, I encountered the following when autosave attempted:

copy-file: destination exists
  source path: /Users/jhemann/Library/Preferences/PLT-autosave-toc.rktd
  destination path: /Users/jhemann/Library/Preferences/PLT-autosave-toc-save.rktd
  context...:
   /Applications/Racket v9.0/share/pkgs/gui-lib/framework/private/autosave.rkt:57:6: notify method in autosave-timer%
   /Applications/Racket v9.0/share/pkgs/gui-lib/mred/private/wx/common/timer.rkt:34:38
   /Applications/Racket v9.0/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:436:6
   /Applications/Racket v9.0/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:487:32
   /Applications/Racket v9.0/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:639:3

The proximate cause is, as it says, that copy-file throws an error when the PLT-autosave-toc-save.rktd file already exists. But I don't believe I've done anything that an ordinary user wouldn't've done. It seems like we were prevented from clobbering an autosave list, but it surprises me that the autosave feature is limited to one list, or that the lists aren't addable, or that we aren't forced to dispense with the existing autosave list before trying to autosave the next one. IIUC.

I tried to look around, but I couldn't find where the prefixed k:copy-file is coming from in racket/private/pre-base.rkt.

主要言語
Racket
スター
517
フォーク
102
平均マージ
8時間 52分
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

racket/drracket のほかの issue

racket/drracket の issue をすべて見る

似ている issue

Desktop Dev の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。