This document summarizes the changes pertaining to the tlon
package.
- Added error handling for JSON parsing with
tlon-read-json
- Moved function out of
with-eval-after-load
block and requiredjson
package - Improved JSON error handling behavior to:
- Search for valid JSON in buffer
- Always show error messages (removed
tlon-debug
condition)
- Removed obsolete “edit data” menu
- Preserved core dispatcher functionality
- Updated local URL value to
https://local-dev.altruismoeficaz.net/
- Improved markdown formatting prompt to handle single-word paragraphs
- Allowed
tlon-ai-fix-markdown-format
to run from English buffer - Enhanced docstring for abstract generation
- Made changes to handle errors in AI formatting tasks
- Updated to use
tlon-read-json
for reading JSON data
- Switched to
tlon-read-json
for reading JSON files - Improved documentation for glossary extraction functionality
- Added 5-second timeout for zotra abstract fetching to prevent hanging
- Enhanced error handling in
tlon-ai-fix-markdown-format
by adding retry logic for failed paragraphs (up to 3 attempts) - Added validation to ensure the command runs only on non-English Markdown files
- Modified glossary handling to prompt user rather than abort when no glossary is found
- Added user confirmation before proceeding without a glossary for supported languages
- Major refactoring of paragraph counting functionality:
- Renamed
tlon-count-paragraphs
totlon-get-number-of-paragraphs
- Enhanced
tlon-with-paragraphs
to optionally return paragraph positions - Fixed broken functionality in
tlon-open-counterpart-dwim
for moving point to corresponding paragraphs - Adjusted offset calculation for between-paragraph positions
- Renamed
- Minor enhancement: Added autoload for
dired-get-marked-files
The changes focus on three main areas:
- Improved error handling and validation in AI/translation workflows
- Better user experience with more prompts instead of hard failures
- Significant refactoring of paragraph handling functionality
- Retired package with functionality moved to
tlon
- Added
tlon.el
repo to repository list - Enclosed some functions in
eval-after-load
- Revised and redefined
tlon-yaml-get-key-values
for metadata fields - Updated
tlon-yaml-article-keys
to include translation keys - Removed space between metadata delimiters
- Improved
tlon-yaml-get-original-path
functionality - Revised field insertion and handling functionality
- Added .dir-locals.el to disable jinx-mode for Korean & Arabic, since Aspell does not support these languages (!)
- Revised repos menu structure and organization
- Added bug reporting functionality:
H-r !
- Improved repo handling logic
- Added translations for all prompts in multiple languages
- Sorted prompts alphabetically
- Disabled voice tag for Azure (this is officially supported but was not working)
- Improved chunk processing and error handling
- Improved issue handling and formatting
- Enhanced buffer naming logic
- Multiple refactoring changes across packages
- Improved docstrings and comments
- Reorganized functions into more logical groupings
- YAML field handling has been significantly revised
- A few repository management commands have new key bindings
- Minor TTS voice functionality changes for Azure
- Fixed bug in
tlon-get-file-with-org-id
function - Removed elpaca requirement, now using hardcoded package directory
- Enhanced autoloading of functions
- Set JSON variable values explicitly as workaround for initialization issue in
json-read-file
- Improved autoloading of forge and pass-extras functions
- Refined repository tracking and git-crypt unlocking functionality
- Removed redundant version and homepage information from multiple file headers to reduce duplication
- Standardized header format across files
- Commented out problematic XML escaping function that was breaking SSML tags
- Improved number separator handling with language-aware patterns
- Added documentation for function arguments
- Improved autoloading of utility functions
- Improved markdown formatting prompt for better translation handling
- Enhanced autoloading of gptel and other AI-related functions
- Added documentation for math expression language parameter
- Significantly revised requirements and autoloads across multiple files
- Replaced many
require
statements with autoload declarations - Updated references and package descriptions to reflect “Tlön” branding
- Added support for math conversion to LaTeX
- Created new functions
tlon-ai-convert-math
andtlon-ai-process-math
- Improved math translation prompt formatting
- Added
tlon-ai-maybe-edit-prompt
helper function - Improved context management by restoring original context after completion
- Added ability to change model directly from menu
- Revised functionality to handle language detection and model selection
- Renamed and relocated
tlon-ai-get-language-in-file
totlon-get-language-in-file
- Added better error handling for language detection
- Added
tlon-get-language-in-mode
function for mode-specific language detection
- Modified error handling to only throw errors for missing glossaries in supported languages
- Changed default summarization model from Gemini to Claude Haiku
- Added functionality to insert math translations as alt text values
- Fixed and improved math translation features
- Added prompting for both source and target languages in
tlon-deepl-translate
- Added support for glossary languages with new constant
tlon-deepl-supported-glossary-languages
- Added
tlon-unlock-uqbar-git-crypt
function and menu item for unlocking git-crypt repos - Updated
tlon-forge-search
functionality to be more efficient - Fixed async behavior messaging for cloning repos
- Revised Forge menu structure and search functionality
- Improved cross-repo search capabilities
- Added new prompt argument to
tlon-select-language
for more flexible language selection
- Updated local URL from “https://uqbar.local.dev/” to “https://uqbar.local”
- Improved handling of non-valued attributes in tags
- Added functionality to work with tag attribute values
- Fixed tag editing functionality
- Added XML special character escaping functionality for SSML
- Updated text processing pipeline order
- Enhanced language support by adding Arabic, Korean and Japanese translations for bare directories
- Fixed
tlon-get-language
to properly handle error cases when repo is not found - Added new repo “uqbar-audio” with content type audio
- Major change in audio file handling:
- Removed server upload functionality
- Now moves files to a dedicated audio repo instead
- Simplified directory structure and file management
- Breaking change:
tlon-tts-upload-audio-file-to-server
replaced bytlon-tts-move-file-to-audio-server
- Added ability to edit prompts before sending to AI model with new
tlon-ai-edit-prompt
option - Improved image description functionality:
- Now uses gptel instead of chatgpt-shell for image handling
- Enhanced multilingual support with prompts in multiple languages
- Menu reorganization:
- Grouped related commands together
- Added new general options section
- Renamed toggle infixes for consistency
- Enhanced forge search functionality:
- Added feedback on search results
- Fixed issues with repos containing zero issues
- Added repository tracking management to menu
- User interface improvements in search results display
- Multiple improvements to menu organization and command naming
- Fixed forge search functionality to handle edge cases
- Added support for tracking repositories and managing issues
The most significant breaking changes are in the TTS module’s file handling system and some command renames in the AI module. Users should particularly note the change from server uploads to local repo management for audio files.
- Added functions for handling language detection and translations.
- Integrated AI functionality more deeply with Emacs event hooks.
- Adjusted API request functionalities to align with new backend changes.
- Enhanced error handling and added user feedback for failed API calls.
- Improved automatic cleanup operations during file save.
- Added functions for specific cleanup tasks to improve modularity.
- Reorganized code to separate concerns more clearly.
- Enhanced repository management functions, improving support for multi-repository setups.
- Added error handling for counterpart file operations.
- Refactored file comparison functionalities for clarity and performance.
- Introduced robust translation features using the DeepL API.
- Implemented new interactive commands for accessing DeepL services directly from Emacs.
- Reorganized dispatch menu for better navigation.
- Added new dispatch commands for recently introduced features.
- Updated documentation generation processes to include new functionalities.
- Improved automated generation of info nodes and online documentation.
- Enhanced glossary management with new interactive functions.
- Implemented a more robust storage mechanism for glossary items.
- Improved import functions for new file formats.
- Added automation features to streamline the importing process.
- Added detailed job tracking and management functionalities.
- Enhanced interaction with external job management tools.
- Extended Markdown support with new editing and preview features.
- Enhanced performance and usability of Markdown operations.
- Introduced new functionalities for managing meetings directly from Emacs.
- Enhanced integration with calendar and scheduling tools.
- Implemented new features for reading text directly in Emacs using TTS.
- Enhanced customization options for voice and reading speed.
- Improved reference management with new linking and tracking features.
- Added support for new citation formats and external databases.
- Added functions for managing multiple repositories more effectively.
- Enhanced repository setup and teardown processes.
- Improved LaTeX integration with new tools for managing TeX projects.
- Enhanced compilation and preview features for LaTeX documents.
- Added comprehensive Text-to-Speech (TTS) support.
- Implemented new TTS functionalities integrated with Emacs audio facilities.
- Enhanced word count functionalities with new interactive features.
- Improved performance and accuracy of word counting.
- Improved YAML handling with new parsing and editing features.
- Added support for new YAML standards and external tools.
- Major refactoring to improve performance and modularity.
- Added new top-level commands and enhanced existing functionalities.