| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced unsafe use of read() function on user-controlled property values
to prevent arbitrary code execution vulnerability.
Changes:
- Lines 1353, 1406: Changed read() to string-to-number() for DRILL_CARD_WEIGHT
- Line 2838: Changed read() to string-to-number() for DRILL_LAST_INTERVAL
- Line 1068: Created org-drill--safe-read-learn-data() helper function that:
* Uses read-from-string instead of read
* Validates input is a list with at least 3 numeric elements
* Returns nil on invalid/malicious input with error handling
* Falls back to safe defaults if LEARN_DATA is corrupted
Impact: Prevents arbitrary code execution if attacker controls org-mode
properties through shared files or malicious imports.
Fixes severity A security bug in todo.org
|
| |
|
|
|
|
|
|
| |
Changed :documementation to :documentation in EIEIO class slot definition.
This fixes EIEIO's ability to recognize slot documentation for introspection
and help systems.
Fixes severity A bug in todo.org
|
| |
|
|
|
|
|
|
| |
Added 66 comprehensive tests covering:
- Entry detection with extreme values and Unicode
- SM2 algorithm with boundary conditions
- Workflow error handling with malformed data
- Card types with complex content structures
|
| |
|
|
|
|
|
|
|
| |
- Add unit tests for show1cloze card type (6 tests)
- Add unit tests for multicloze variants (12 tests)
- Add integration test for card type system (5 tests)
Phase 2 complete: All major card types tested
Total: 114 tests (98 unit + 16 integration), all passing
|
| |
|
|
|
|
|
|
| |
- Add unit tests for simple card type (11 tests)
- Add unit tests for twosided card type (11 tests)
- Add unit tests for hide1cloze card type (4 tests)
Total: 91 tests (80 unit + 11 integration), all passing
|
| |
|
|
|
|
|
|
|
|
|
| |
- Add unit tests for org-drill-entry-p (14 tests)
- Add unit tests for org-drill-part-of-drill-entry-p (14 tests)
- Add unit tests for SM2 scheduling algorithm (23 tests)
- Add integration test for basic drill workflow (11 tests)
- Update Makefile to support test-*.el naming pattern
- Rename org-drill-test.el to test-org-drill.el for consistency
Total: 65 tests, all passing
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit modernizes the test infrastructure and eliminates all
compilation warnings to prepare for comprehensive test coverage.
Test Infrastructure Improvements:
- Reorganize tests from test/ to tests/ directory (standard convention)
- Modernize Makefile with patterns from chime.el
- Add convenient test targets (test-file, test-name)
- Support unit and integration test separation
- Better help documentation with examples
- Auto-detect Cask installation location
- Add comprehensive test-strategy.org document
- 6-week implementation plan
- Critical function prioritization
- Integration test scenarios
- Coverage goals (80% target)
Compiler Warning Fixes (org-drill.el):
- Replace obsolete org-mode functions:
- org-show-subtree → org-fold-show-subtree
- org-show-entry → org-fold-show-entry
- org-get-tags-at → org-get-tags
- org-remove-latex-fragment-image-overlays → org-clear-latex-preview
- org-toggle-latex-fragment → org-latex-preview
- org-bracket-link-regexp → org-link-bracket-re
- Fix ~31 unescaped single quotes in docstrings (use \=')
- Remove unused lexical variables (cb, drawer-name, session, orig-fun)
- Remove obsolete outline-view-change-hook binding
- Wrap org 8.x compatibility shim in with-no-warnings
- Fix long docstring at line 1085
Test Status:
- All 3 existing tests passing
- Zero compilation warnings (was ~40 warnings)
- Ready for Phase 1 implementation (foundation tests)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add built-in display management for drill sessions with user-configurable
settings. No external dependencies required.
New features:
- Customizable font size in points (org-drill-text-size-during-session)
- Optional variable-pitch mode (org-drill-use-variable-pitch)
- Optional modeline hiding (org-drill-hide-modeline-during-session)
- Automatic drawer hiding with new org-drill-hide-drawers function
- Session lifecycle hooks (org-drill-before-session-hook, org-drill-after-session-hook)
Display settings are automatically saved and restored when sessions end,
including on quit, error, or normal completion via unwind-protect.
All settings use proper package naming (org-drill-*) with no external
dependencies. Works out of the box for all users.
|
| |
|
|
|
|
|
|
|
| |
Replace `org-cycle-hide-drawers` with a new `org-drill-hide-drawers`
function for more reliable drawer hiding in org-drill. This change
enhances the drill display by ensuring all drawers, including the
PROPERTIES drawer, are consistently hidden during presentations. The
custom function iterates through entries and hides the designated
regions, improving the user experience during interactive sessions.
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| | |
Bump org-mode version to 9.3
See merge request phillord/org-drill!10
|
| | |
| |
| |
| |
| |
| | |
Issue reference: https://gitlab.com/phillord/org-drill/-/issues/19
Caused by https://gitlab.com/phillord/org-drill/-/commit/82b50e378db69e96fb3d916785a2f03fddf85637, which introduced a function created here: https://code.orgmode.org/bzg/org-mode/commit/6d9022df22f86e8b0ea00dfb9179128136edc49a?style=split. Fn is available in org 9.3. Don't know much about packaging for melpa but I figure 82b50e37 should have bumped the org version from 9.2.X at least.
|
| |\ \
| | |
| | |
| | |
| | |
| | | |
Allow Creating New Session in Cram Mode
See merge request phillord/org-drill!9
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A current session does not exist when `org-drill-cram` is called, so
it's current behavior of toggling the `crame-mode` property doesn't
seem to do anything. This change allows it to inform `org-drill` to
create a new session in "cram mode."
I'm not sure if this is the proper way to impliment this relative to
the rest of the codebase, which I'm still a little unfamiliar
with. But I thought this pr would still be useful, if only to create discussion.
|
| |/
|
|
|
|
| |
* org-drill.el (org-drill-order-overdue-entries): Use cl-first
Closes #23
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| | |
Fix typo "Eaqch" to "Each"
See merge request phillord/org-drill!8
|
| |/ |
|
| |\
| |
| |
| |
| |
| | |
Show LaTex overlays after clearing them
See merge request phillord/org-drill!7
|
| | |\
| |/
|/|
| |
| | |
# Conflicts:
# org-drill.el
|
| |\ \
| | |
| | |
| | |
| | |
| | | |
fix argument passed to now obsoleted org-toggle-latex-fragment
See merge request phillord/org-drill!6
|
| |/ /
| |
| |
| |
| |
| | |
The interpretation of the argument to org-toggle-latex-fragment
changed when it was aliased to org-latex-preview. Regardless, '(16)
should work for either version
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
| |
The <9.2 compatability advice was working incorrectly by calling
`org-get-tags` which prior to 9.2 returned only local tags. This now
calls `org-get-tags-at` which seems to work.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| | |
Add blank line between authors in README
See merge request phillord/org-drill!3
|
| |/ |
|
| |\
| |
| |
| |
| |
| | |
Update README's installation instructions
See merge request phillord/org-drill!5
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | | |
Fix typo in function name in README
See merge request phillord/org-drill!4
|
| | |/ |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | | |
fix reversed member arguments
See merge request phillord/org-drill!2
|
| | |/ |
|
| | | |
|
| | | |
|