-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathChangeLog
17352 lines (12727 loc) · 753 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2025-04-25 Mats Lidell <[email protected]>
* test/MANIFEST: Add resource folders.
* test/hmouse-drv-resources/test-data.el:
test/hmouse-drv-resources/TAGS:
test/hibtypes-resources/test-data.el:
test/hibtypes-resources/TAGS: Test resources.
* test/hmouse-drv-tests.el (hbut-ctags-vgrind-test, hbut-etags-test): Use
test resources.
* test/hibtypes-tests.el (ibtypes::ctags-vgrind-test)
(ibtypes::etags-test): Use test resources.
2025-04-23 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--word-n-face-at): Verify that point
is at a WikiWord where WikiWord has hywiki--word-face set.
(hywiki-tests--with-face-test): Control type of WikiWord check.
(hywiki-tests--word-at): Use either hywiki-word-at or
hywiki-tests--word-n-face-at controlled by
hywiki-tests--with-face-test.
(hywiki-tests--verify-hywiki-word): Use hywiki-tests--word-at.
(hywiki-tests--wikiword-step-check-verification-with-faces): Run the
step-check test verifying WikiWords and faces. Test is behind failure
flag.
* test/hy-test-helpers.el (hy-test-word-face-at-point): Check if
hywiki--word-face is set at point.
(hy-test-word-face-at-region): Check that region has hywiki--word-face set.
2025-04-21 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--wikiword-step-check): Update test
sequence.
* hywiki.el (ibtypes::pathname, ibtypes::pathname-line-and-column):
Declare functions from hpath.
* hsys-org.el (hsys-org-link-at-p): Reinsert let binding of label-start-end.
* hbut.el (ibut:insert-text): Remove shadowed pcase.
2025-04-20 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--filename-same-as-wiki-word): Add
test for filename being the same as a WikiWord.
2025-04-20 Bob Weiner <[email protected]>
* test/hui-tests.el (hui--link-possible-types): Change Outline Heading
to use 'link-to-file' now.
(hui--ibut-link-directly-to-org-header-second-column):
Fix to new handling of outline headings.
* test/demo-tests.el (fast-demo-display-kotl-starting-from-cell): Fix
to use Hyperbole source EXAMPLE.kotl rather than per user file
which may have been edited. Also add check of count of visible lines
in the current cell.
* kotl/kotl-mode.el (kotl-mode:add-prior-cell): Add to insert a cell
prior to the current cell at the same level as the current cell.
* kotl/kmenu.el (kotl-menu-common-body): Change 'Add-Parent' to
'Add-After-Parent'.
* kotl/kotl-mode.el (kotl-mode:add-parent): Rename to
'kotl-mode:add-after-parent'.
2025-04-19 Bob Weiner <[email protected]>
* kotl/kotl-mode.el (kotl-mode:add-cell): Fix handling of 0 and negative
prefix args. 0 on a level 1 cell means add as the first child of the
parent root cell, i.e. as the first outline cell. 0 at any lower level
means add as the next sibling of the parent cell.
(kotl-mode:down-level, kotl-mode:up-level,
kotl-mode:backward-cell, kotl-mode:forward-cell,
kotl-mode:previous-cell, kotl-mode:next-cell): Trigger
error only if called interactively; if not interactive and cannot move
to any expected cell, return nil.
* hui.el (hui:actype): Fix to ensure only interactive actypes are returned
so when an explict button is created, it can prompt for the parameters
associated with the actype (otherwise, it will just get nil).
(hui:link-possible-types): Update link to outline heading handler
to use 'link-to-file' instead of 'link-to-string-match'. Ignore the
column number of point and for instance number of the #section, count
only matches to heading lines, i.e. with 'outline-regexp'.
hbut.el (ibut:insert-text): Add support for 'link-to-file'.
* hibtypes.el (hywiki-existing-word):
hywiki.el (hywiki-word): Fix so if point is on an existing pathname that
is also a WikiWord, it jumps to the pathname rather than displaying the
WikiWord referent. Also add (require 'hibtypes) to support this.
* hywiki.el (hywiki-referent-exists-p): Remove (hywiki-word-at :range)
call since this did not also check for whether a referent exists. This
fixes a bug in 'hywiki-existing-word'.
2025-04-18 Bob Weiner <[email protected]>
* hywiki.el (hywiki-word-at): Remove unneeded clause that checks for opening
delimiters a second time within a delimited set of WikiWords. This fixes
an error of returning the prior WikiWord within a delimited group due to
moving back past leading whitespace.
* hypb.el (hypb:in-string-p): Fix by removing `syntax-ppss' calls and using
regexp searches for double quoted delimiters instead.
2025-04-17 Mats Lidell <[email protected]>
* test/hywiki-tests.el
(hywiki-tests--wikiword-identified-in-strings-in-emacs-lisp-mode): Add
test for WikiWords in strings in emacs-lisp-mode. Test is behind
failure flag.
* man/im/*.eps: Remove embedded postscript files.
* HY-TALK/improve-performance.png: Not used.
* man/im/wgrid4x3.png: Not used.
2025-04-15 Bob Weiner <[email protected]>
* hypb.el (hypb:in-string-p): Add optional 'max-lines' arg to limit the
search to that many full buffer lines starting with the line beginning
2025-04-15 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--command)
(hywiki-tests--save-referent-command)
(hywiki-tests--save-referent-command-use-menu)
(hywiki-tests--save-referent-find-use-menu)
(hywiki-tests--save-referent-info-index-use-menu): Clean up
hywiki-tests.el from FIXME comments and add the related tests.
* hui-mouse.el (hkey-alist): Cleanup. Remove whitespace.
* test/hui-mouse-tests.el (hui-mouse-tests--hkey-alist): Defvar
vertico-mode for bound-and-true-p to see the let value.
2025-04-14 Bob Weiner <[email protected]>
* test/hui-mouse-tests.el (hui-mouse-tests--hkey-alist): Update with new
vertico hkey-actions.
* hui.el (hui:hbut-operate): Add an unwind-protect to code that restores
point in cases where calling the `operation' triggers an error. Fixes
improper point movement in hywiki-display-page with a #section ref
where the section is not found and an error is raised.
* hbut.el (ibut:create):
hmouse-drv.el (hkey-execute, hkey-actions, hkey-help): Change so point
moved error is thrown for any ibtype predicate tested, not just the
one selected; this will simplify tracking down bad ibtypes. Also
ensure pred-point marker is always set to nil after use.
2025-04-13 Bob Weiner <[email protected]>
* test/hsys-org-tests.el (hsys-org--meta-return-on-end-of-line): Add
mocks back in to prevent scrolling eob or bob errors.
* test/hmouse-drv-tests.el (hbut-man-apropos-test, hbut-info-node-test,
hbut-ib-url-with-label, hbut-mail-address-test,
hbut-pathname-test, hbut-pathname-lisp-variable-test,
hbut-pathname-env-variable-test,
hbut-pathname-emacs-lisp-file-test, hbut-pathname-line-test,
hbut-pathname-line-test-duplicate, hbut-pathname-anchor-test,
hbut-pathname-anchor-trailing-text, hbut-pathname-anchor-line-test,
hbut-pathname-line-column-test,
hbut-pathname-load-path-line-column-test,
hbut-pathname-with-dash-loads-file-test,
hbut-pathname-directory-test,
hbut-pathname-dot-slash-in-other-folder-should-fail-test,
hbut-ctags-vgrind-test, hbut-etags-test, hbut-dir-summary-test):
Test for ibtype match after calling (action-key).
* hui-mouse.el (hkey-alist): When (smart-eolp), use hact instead of
funcall to run action/assist-key-eol-functions.
* test/hsys-org-tests.el (hsys-org--org-outside-org-mode-tmp-buffer,
hsys-org--org-outside-org-mode-tmp-file): Test
for ibtype match instead of actype.
* test/hmouse-drv-tests.el (hbut-rfc-test):
test/hsys-org-tests.el (hsys-org--meta-return-on-end-of-line,
hsys-org--meta-return-on-end-of-line): Replace
all mock calls with hattr:actype-is-p checks instead.
* hbut.el (hattr:is-p): Add to abstract testing of hattr values.
(hattr:actype-is-p, hattr:ibtype-is-p): Add these convenience
functions for testing for specific ibtype and actype activations.
* hsys-org.el (hsys-org-thing-at-p): Fix to work outside of Org mode by
suppressing warnings and ignoring Org regex errors. This fixes two
hsys-org tests where the 'www-url' ibtype fired instead of
'org-link-outside-org-mode'.
(hsys-org-link-at-p): Rewrite to fix sending back (start . end)
positions when on a link, to be used as an implicit button label.
* hywiki.el (hywiki-section-to-headline-reference): Add to convert #section
dashes to spaces for matching to Org headlines.
(org-link-set-parameters): Set HyWiki's link type to call the above
function on HyWiki links so they properly match Org headlines.
2025-04-12 Bob Weiner <[email protected]>
* hywiki.el (hywiki-cache-save): Change to save any modified cache rather than
triggering an error (which can occur during regression testing). This fixes
the `hywiki-tests--save-referent-info-node-use-menu' test.
(hywiki--buttonized-region-p): Add so buttonized region tests are
always handled correctly. Use in the functions below.
(hywiki-convert-words-to-org-links,
hywiki-maybe-dehighlight-balanced-pairs,
hywiki-maybe-highlight-balanced-pairs,
hywiki-maybe-dehighlight-page-name,
hywiki-maybe-highlight-page-name,
hywiki--maybe-dehighlight-at-point,
hywiki--maybe-rehighlight-at-point): Fix to avoid using region
markers in a buffer other than the current one. This also fixes a bug when
doing HyWiki exports to html and referencing the wrong buffer.
* test/hywiki-tests.el (hywiki-tests--wikiword-step-check): Fix to not expect
closing paren delimiter as part of the WikiWord.
* hywiki.el (hywiki-at-range-delimiter): Handle if scan-sexps returns nil then
return '(nil nil).
* hypb.el (hypb:in-string-p): Update to handle change-log-mode which disables
syntax parsing and so is handled with a string search.
* hmouse-drv.el (hkey-actions): Add for use in Hyperbole testing and call from
"test/hui-mouse-tests.el".
* hui-mouse.el (hkey-alist): Ignore 'ivy-mode' if 'vertico-mode' is actively
prompting for an argument and allow for this outside of the minibuffer
since vertico may prompt within another buffer. Also, ignore the value
of hargs:reading-type here, otherwise, it will not catch all uses of
'vertico-mode'.
2025-04-07 Mats Lidell <[email protected]>
* test/MANIFEST: Add hui-mouse-tests.el
* test/hui-mouse-tests.el (hui-mouse-tests--hkey-alist): Verify a
predicate setting leads to the proper action.
(hui-mouse-tests--hkey-get-action): Helper that gets primary action
and assist action from hkey-alist for the predicates in effect.
2025-04-06 Bob Weiner <[email protected]>
* test/hywiki-tests.el (hywiki-tests--wikiword-identified-in-emacs-lisp-mode):
Add this test from Mats with one correction.
* hywiki.el (require cl-lib): Remove use.
(hywiki--org-export-new-title-reference): Remove use of 'cl-incf'.
(hywiki-maybe-at-wikiword-beginning,
hywiki-maybe-dehighlight-page-name,
hywiki-maybe-highlight-page-name
hywiki-word-at): Replace 'cl-find' with 'string-match' for speed.
(hywiki-buttonize-character-commands): Fix 'post-self-insert-hook'
so it highlights wikiwords after a closing delimiter is inserted.
(hywiki--maybe-rehighlight-at-point): Remove nullifying of
'hywiki--word-pre-command', 'hywiki--buttonize-start', 'hywiki--buttonize-end'
and move this to the start of the hywiki 'pre-command-hook'
(hywiki-debuttonize-non-character-commands) so they are not nullified
by 'post-command-hook' before they can be used by 'post-self-insert-hook'.
(hywiki-delimited-p): Add support for strings as well.
2025-04-06 Mats Lidell <[email protected]>
* test/hy-test-helpers.el (hy-test-run-failing-flag): Set to non-nil to
activate failing test cases. Used by HYPB_ERT_FAILURE.
* Makefile (HYPB_ERT_FAILURE): Command line controlled macro that tells if
failing test cases should be run.
* test/hywiki-tests.el (hywiki-tests--run-test-case): Remove per char
verification in DSL. Just verify after each insert or remove as whole.
(hywiki-tests--wikiword-step-check): Simplify tests after DSL change.
(hywiki-tests--verify-hywiki-word): Add verification that
hywiki-word-is-p agrees with hywiki-word-at.
2025-04-05 Bob Weiner <[email protected]>
* hywiki.el (hywiki-word-at, hywiki-word-is-p): If has a #section, ensure
there are no invalid chars.
(hywiki-word-at): Fix missing test for double quote as an opening
delimiter.
* test/hywiki-tests.el (hywiki-tests--sections-with-dash-space): Update code
to ensure #section cannot contain quote marks.
2025-03-30 Bob Weiner <[email protected]>
* test/hywiki-tests.el (hywiki-tests--wikiword-step-check): Fix by removing
matching to trailing delimiters, since that is now fixed.
* hywiki.el (hywiki-word-at): Fix so if not in a delimited HyWikiWord reference
or if such a reference contains more than one non-section word, then
disallow spaces in section names.
(hywiki-delimited-p): Add and use in above function.
(hywiki--get-delimited-range-backward, hywiki--get-delimited-range-forward):
Clarify required point position and inclusion of delimiters in the range.
(hywiki-word-highlighted-at-p): Add to return any highlighted wikiword ref
at point.
2025-03-30 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--add-find): Remove hywiki-directory
at end of test case.
2025-03-23 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--run-test-case): Run DSL for testing
Hywiki words.
(hywiki-tests--lorem-ipsum): Surrounding test text.
(hywiki-tests--verify-hywiki-word): DSL verification helper.
(hywiki-tests--wikiword-step-check-verification)
(hywiki-tests--wikiword-step-check-verification-with-surrounding-text):
DSL based tests of WikiWords.
2025-03-20 Mats Lidell <[email protected]>
* Makefile (DOCKER_VERSIONS): Include 30.1.
(docker-run): Use a volume for the elpa folder to reuse between docker
runs.
(recompile-docker-elpa): Recompile elpa folder to ensure files are
compiled with the same Emacs as used.
(docker-clean): Remove the elpa volume, useful for starting with a
fresh download of the required packages.
2025-03-18 Mats Lidell <[email protected]>
* test/hywiki-tests.el
(hywiki-tests--published-html-links-to-word-and-section): Fix should
check.
2025-03-17 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--add-hywiki-hooks)
(hywiki-tests--remove-hywiki-hooks, with-hywiki-buttonize-hooks)
(with-hywiki-buttonize-and-insert-hooks): Remove helpers for running
hooks, replaced by hywiki-tests--command-execute.
(hywiki-tests--preserve-hywiki-mode): Macro that restores the current
state of hywiki-mode so test case will not change users setting. Use
it for all tests setting hywiki-mode.
(hywiki-tests--verify-preserve-hywiki-mode): Unit test of the macro.
* test/hywiki-tests.el (hywiki-tests--command-execute): Function that runs
command while also executing the pre and post command hooks. Use it
instead of the with-hywiki-buttonize macros.
2025-03-17 Bob Weiner <[email protected]>
* hywiki.el (hywiki-maybe-dehighlight-between-page-names): Fix to dehighlight
at point if on a highlighted prior WikiWork.
(hywiki--buttonize-characters): Add missing double quote char as
a match char to fix "WikiWord" not highlighting in a file when read in.
2025-03-16 Bob Weiner <[email protected]>
* hywiki.el (hywiki--rehighlight-at-point): Fix to dehighlight when the first
char of a wikiword is deleted.
(hywiki--maybe-rehighlight-at-point): Add maybe to the name.
(hywiki-maybe-dehighlight-page-name): Extract from above function
and use this standalone.
* HY-ABOUT:
MELPA-RECIPE.el:
README.md:
man/hyperbole.texi:
hyperbole-pkg.el ("hyperbole"): Update requirement to Emacs version 28 from
27.2 since Markdown mode now requires this.
2025-03-14 Bob Weiner <[email protected]>
* hypb.el (hypb:in-string-p): Made return the start position of the string
* hywiki.el (hywiki--page-name): Rename to 'hywiki--word-only'.
(hywiki--word-pre-command): Add for use in command hooks.
(hywiki-debuttonize-non-character-commands,
hywiki-buttonize-character-commands,
hywiki-buttonize-non-character-commands): Rewrite all of these
to capture the first HyWikiWord and then only dehighlight in post hooks
if the HyWikiWords has changed.
2025-03-13 Bob Weiner <[email protected]>
* hywiki.el (hywiki-word-at): Clarify :range return value in doc string.
2025-03-08 Bob Weiner <[email protected]>
* hywiki.el (hywiki-word-at): Fix so hy:WikiWord is recognized without any
delimiters.
hsys-org.el (hsys-org-link-at-p): Fix to handle Org links without square or
angle brackets, e.g. file:WikiWord.org.
(hsys-org-thing-at-p): Add to test if point is on a specific org
construct type, e.g. a link.
(hsys-org-link-at-p): Remove 'with-suppressed-warnings' since
inner call to 'hsys-org-thing-at-p' is now run only when in org mode.
* test/hywiki-tests.el (hywiki-tests--convert-words-to-org-link): Fix expected
value to be [[WikiWord]] not [[file:WikiWord.org][WikiWord]].
2025-03-07 Bob Weiner <[email protected]>
* test/hywiki-tests.el (hywiki-tests--wikiword-identified-with-delimiters):
Fix to show which wikiword item fails.
* hywiki.el (hywiki-maybe-highlight-page-name): Fix to eliminate narrowing
of region that hides any balanced delimiters around a HyWikiWord. Also
generalize HyWikiWord range finding using updated 'hywiki-word-at'.
(hywiki-word-at): Fix to allow whitespace between delimiters and
between #section words when delimited. Also, if not on a wikiword and
'range-flag' is non-nil, return '(nil nil nil).
2025-03-06 Bob Weiner <[email protected]>
* hywiki.el (hywiki-maybe-highlight-between-page-names): Allow for whitespace
after opening delimiter.
2025-03-02 Bob Weiner <[email protected]>
* test/hywiki-tests.el (hywiki-tests--convert-words-to-org-link): Fix expected
link match strings.
* hsys-xref.el (hsys-xref-identifier-at-point): Fix to return nil if xref returns
a pathname as an identifier. This fixes a problem with the Action Key
triggering the wrong action; it should recognize it as a pathname.
* test/hywiki-tests.el (hywiki-tests--add-org-roam-node): Mock variable,
`cl-struct-org-roam-node-tags' needed when org-roam package is not installed.
2025-02-27 Bob Weiner <[email protected]>
* hywiki.el (hywiki--maybe-de/highlight-sexp): Fix to narrow to region of
current HyWikiWord range before calling 'func'.
(hywiki--maybe-de/highlight-sexp): Add optional 'sexp-start' and
'sexp-end' args when known; range should include delimiters.
(hywiki-buttonize-character-commands,
hywiki-buttonize-non-character-commands): Pass 'hywiki--buttonize-start'
and 'hywiki--buttonize-end' positions to 'hywiki--maybe-de/highlight-sexp'
when known rather than recomputing.
* hproperty.el (hproperty:but-move): Add and use in "hywiki.el".
* hywiki.el (hywiki-get-delimited-range): Rename to 'hywiki-at-range-delimiter'.
(hywiki-referent-exists-p): Fix return value doc when given :range
arg. Fix to send word string rather than tuple to 'hywiki-get-referent'.
2025-02-25 Bob Weiner <[email protected]>
* hywiki.el (hywiki-word-with-optional-spaces-suffix-exact-regexp): Remove
use in 'hywiki-word-is-p' and replace with
'hywiki-word-with-optional-suffix-exact-regexp' which actually allows spaces.
(hywiki-word-at): Add support for finding delimited WikiWords with
#sections that contain multiple space separated words and returning the
wikiword, start and end.
(hywiki-word-at): Fix last 'looking-at' expression to not match to
end of buffer.
(hywiki-buttonize-character-commands,
hywiki-buttonize-non-character-commands,
hywiki-debuttonize-non-character-commands): Rewrite and simplify.
2025-02-24 Bob Weiner <[email protected]>
* hywiki.el (hywiki--maybe-de/highlight-sexp): Ensure return the result of
calling 'func'.
(hywiki-buttonize-non-character-commands): Remove insert commands
handled by 'hywiki-buttonize-character-commands' attached to
'post-self-insert-hook'.
(hywiki-non-hook-context-p): Add.
2025-03-07 Mats Lidell <[email protected]>
* hywiki.el (hywiki-convert-words-to-org-links)
(hywiki--org-export-get-reference): Fix docstrings.
* hui-select.el (hbut:syntax-table): Public declare var.
* test/hpath-tests.el (hpath--spaces-to-dashes-markup-anchor)
(hpath--dashes-to-spaces-markup-anchor): Add tests.
2025-03-04 Mats Lidell <[email protected]>
* test/hywiki-tests.el:
test/hycontrol-tests.el:
test/hui-mini-tests.el:
test/hproperty-tests.el:
test/hactypes-tests.el: Add local-variable section disabling
byte-compilation to avoid error message during user
installation. The message comes from these files depend on el-mock
which is not a package dependency.
* .github/workflows/main.yml (jobs): Add 30.1 to CI
2025-03-03 Mats Lidell <[email protected]>
* Makefile (DOCKER_VERSIONS): Remove 27.2.
* test/hywiki-tests.el (hywiki-tests--word-face-at-p): Add unit test.
(with-hywiki-buttonize-and-insert-hooks): Move debuttonize before body.
* hywiki.el (hywiki-word-face-at-p): Add predicate for hywiki-word-face
and use it in hywiki-tests.
2025-03-02 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--referent-test): Add macro with
boiler plate code for the reference save and restore tests.
(hywiki-tests--save-referent-keyseries)
(hywiki-tests--save-referent-keyseries-use-menu)
(hywiki-tests--save-referent-bookmark)
(hywiki-tests--save-referent-bookmark-use-menu)
(hywiki-tests--save-referent-find)
(hywiki-tests--save-referent-global-button)
(hywiki-tests--save-referent-global-button-use-menu)
(hywiki-tests--save-referent-hyrolo)
(hywiki-tests--save-referent-info-index)
(hywiki-tests--save-referent-info-node)
(hywiki-tests--save-referent-info-node-use-menu)
(hywiki-tests--save-referent-path-link)
(hywiki-tests--save-referent-org-id)
(hywiki-tests--save-referent-org-roam-node)
(hywiki-tests--save-referent-org-roam-node-use-menu): Save and restore
referent tests.
2025-02-28 Mats Lidell <[email protected]>
* .github/workflows/main.yml (jobs): Remove 27.2 from the versions to
test in the CI.
2025-02-24 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--action-key-moves-to-word-and-section):
Test action-key on WikiWords with section and line info.
(hywiki-tests--published-html-links-to-word-and-section): Verify html
links to sections are generated.
2025-02-23 Bob Weiner <[email protected]>
* hywiki.el (hywiki-referent-menu): Re-add accidentally deleted "Keys" key
series referent type in the menu.
(hywiki-set-directory): Call as part of loading hywiki.el to ensure
HyWiki Org project publish settings are initialized.
(hywiki--org-export-new-title-reference): Replace '--any' call from
dash.el package with 'cl-some'.
(hywiki-buttonize-character-commands): In prog modes, limit to comments
and strings. If within a delimited pair, highlight #sections with multiple
words.
* test/hywiki-tests.el (hywiki-tests--convert-words-to-org-link): Fix to not
expect 'hy:' prefix in HyWiki Org links.
(hywiki-tests--add-org-roam-node): Handle all calls to
'org-roam-node-title'.
* hywiki.el (hywiki-get-referent): Fix suffix match to use group 3 and add
suffix to referent-value here.
(hywiki-display-referent): Remove adding suffix to referent-value here.
2025-02-22 Bob Weiner <[email protected]>
* hywiki.el (hywiki-publish-to-html): Advise 'org-export-get-reference' to use
modified Org headings as html ids.
(hywiki--org-export-get-reference,
hywiki--org-export-new-title-reference,
hywiki--org-format-reference): Add to implement the above new html
id generation scheme.
* hui-select.el (hui-select-punctuation): Add 'hui-select-markup-pair' so if
on the opening char of an HTML tag for example with punctuation syntax,
it is treated as a markup pair from `hui-select-thing'.
(hui-select-thing): Change return value to be the region selected
so can be used as a delimited regional selection predicate like so:
(hui-select-delimited-thing-call #'hui-select-thing).
* hui-mouse.el (hkey-alist): Change action for 'hui-select-at-delimited-thing-p'
condition to call 'hui-select-thing' instead of 'hui-select-delimited-thing'
so does not include extra whitespace and matches the result when
'hui-select-thing' is called interactively.
* hywiki.el (hywiki-referent-exists-p):
Fix bug where 'word' was given as the symbol :range to use as a flag
but then the call to 'hywiki-strip-org-link' mistakenly set it to nil.
(hywiki-word-set-auto-highlighting): Add so can call interactively
to restore HyWikiWord auto-highlighting after a command hook error. Call
when enabling 'hywiki-mode'.
Fix bug where :range flag was not passed to 'hywiki-word-at' call;
manifested as selecting an entire string rather than the wikiword at point.
* hsys-ert.el (ert-should): Constrain matches for this ibtype to the current
line when not in 'ert-results-mode'. This fixes a problem of having this
ibtype trigger in the "*scratch*" buffer for example where an
'ert-test-failed match is found but it is far way and unconnected to the
current point.
* hmouse-drv.el (hkey-help):
Update {C-h A} Hyperbole help so button information is displayed at
the top before long Action/Assist Key behavior description.
In cases like the multi-context 'smart-org' handler where a specific
action type is triggered without defining an implicit button, display
the action type information at the top as well, so it is clear the
specific action that will be taken at point.
Fix bug where 'categ' is nil and 'htype:names' returns a list of all
type names to 'concat' since expecting only a single name.
When displaying Assist Key help, remove actype and action attributes
from button or actype display.
* hywiki.el (hywiki-directory-dired-edit): Remove bash-specific file
filtering since names the dir after the filter regex and this is
unattractive. Using directory-files to filter instead works fine.
Also, use 'hywiki-word-regexp' to match to page names rather than
a hardcoded regexp.
* hycontrol.el (require 'zoom-frm): Wrap in an 'ignore-errors' so if its
required library, 'frame-cmds' is not installed, no error occurs and
HyControl behaves works without the library.
* test/hact-tests.el (hact-tests--action-params-with-lambdas): Eliminate
byte compiler 'unused args' errors by starting args with underscore.
2025-02-21 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--delete-parenthesised-char): Verify
reported delete char issue for elisp mode.
2025-02-19 Bob Weiner <[email protected]>
* hywiki.el (hywiki-maybe-dehighlight-page-name,
hywiki-maybe-highlight-page-name,
hywiki-maybe-highlight-page-names): In
non-'hywiki-highlight-all-in-prog-modes', highlight only in strings
as well as comments.
(hywiki-buttonize-non-character-commands,
hywiki-debuttonize-non-character-commands): Don't trigger these
pre- and post-command hooks in non-'hywiki-highlight-all-in-prog-modes' when
outside of strings and comments.
(hywiki-word-at): Whe match to wikiword via face highlight, ensure
it matches to the wikiword format regexp.
* hyrolo.el (hyrolo-expand-path-list): Fix to include a default file name
even when the file does not yet exist.
* test/hyrolo-tests.el (hyrolo-test--expand-path-list): Expand matching
filename.
* hyrolo.el (hyrolo-expand-path-list): Use default "~/.rolo.org" when it
exists and is readable. Fixes gh#rswgnu/hyperbole/672 and bug#76424.
(hyrolo-get-file-list): Return a default rolo file when `hyrolo-
file-list' is nil.
2025-02-16 Bob Weiner <[email protected]>
* hui-select.el (hui-select-punctuation): Add (hui-select-string pos) call
when on a double quote since sometimes double quotes have punctuation syntax,
e.g. text-mode.
(hui-select-string-p): Fix off-by-one error when scan-sexps
backwards with point after an ending double quote.
When compile, add (require 'hbut) for 'hbut:syntax-table'. Fix string
selection in 'text-mode' by using 'hbut:syntax-table'.
* hywiki.el (hywiki-org-link-export): In html and markdown conversion, call
'hpath:spaces-to-dashes-markup-anchor'.
(hywiki-referent-menu): Fix missing s typo in 'hywiki-add-sexpression'.
(hywiki-convert-words-to-org-links, hywiki-org-link-export):
Update doc string with specific formatting.
(hywiki-org-link-resolve): Rewrite to return full referent when not
a pathname.
(hywiki-referent-menu): Rename 'LinkPath' to 'pathLink' and properly
alphabetize entries by invocation character (first capital letter).
(hywiki-word-to-org-link): Add to convert a single HyWikiWord reference
to an Org link for use during publishing. Use in `hywiki-convert-words-to-org-links'.
2025-02-09 Bob Weiner <[email protected]>
* hpath.el hpath:spaces-to-dashes-markup-anchor): Add.
(hpath:normalize-markup-anchor): Rename to
'hpath:dashes-to-spaces-markup-anchor'.
2025-02-08 Mats Lidell <[email protected]>
* hywiki.el (hywiki--sitemap-file): Helper function for getting the sitemap
file-name.
(hywiki-org-export-function): Only use org publishing for the sitemap file.
(hywiki-convert-words-to-org-links): Highlight wiki page names so overlays
are defined before looking for them.
2025-02-07 Mats Lidell <[email protected]>
* test/hywiki-tests.el (hywiki-tests--save-referent)
(hywiki-tests--save-referent-use-hyperbole-menu): Tests for using the
cached page and referent data.
* hywiki.el (hywiki-make-referent-hasht): Return hasht when rebuilding from
load data.
2025-02-07 Bob Weiner <[email protected]>
* hywiki.el (hywiki--extend-yanked-region): Add and call in 'hywiki-highlight-on-yank'
to extend a yanked region to include the rest of a delimited pair or string.
* hui-select.el (hui-select-string-p): Fix to make multi-line string selection
work properly whether on the opening or closing double quote mark, using
'scan-sexps'. Update doc string.
2025-02-06 Bob Weiner <[email protected]>
* hywiki.el (hywiki-debuttonize-non-character-commands,
hywiki-buttonize-non-character-commands): Add support for 'kill'
commands and fix that removing a trailing delimiter did not rehighlight
HyWikiWords properly.
2025-02-05 Mats Lidell <[email protected]>
* hywiki.el (hywiki-add-org-id): Suppress byte compile warnings for calling org-id-get with
different number of args. Later versions have a fourth optional arg that we use.
2025-02-02 Mats Lidell <[email protected]>
* test/hui-tests.el (hui--kill-highlighted-region-default-settings): Add test for hui-kill-region
with the default settings for transient-mark-mode and mark-even-if-inactive.
2025-02-02 Bob Weiner <[email protected]>
* hywiki.el (hywiki-buttonize-non-character-commands): Simplify to improve
HyWikiWord reference highlighting when remove a balanced delimiter.
This requires that if a closing delimiter is removed that the opening
delimiter is temporarily removed so highlighting can proceed properly.
Then the opening delimiter is reinserted, invisibly to the user.
(hywiki-buttonize-non-character-commands): One more fix to
highlight with point at the beginning of the previously delimited region.
* hui.el (hui-kill-region): Fix to default 'beg' arg to (mark) only when
'interactive-flag' is non-nil.
(hui-kill-ring-save): Fix to set 'beg' and 'end' to (mark) and
(point) when needed and called interactively. Also, set 'this-command'
to 'kill-ring-save'.
* test/hui-tests.el (hui--kill-empty-region-twice): Remove assume failure.
* hui.el (hui-kill-region): Remove use of (not mark-even-if-inactive) in 2nd
cond clause since we want to be able to select a delimited region regardless
of any mark setting when Hyperbole is active.
Fix error when mark is set and mark-even-if-inactive is t and hyperbole-mode
is t, but no highlighted region, then two C-w calls in a row used to trigger
an error but should just do nothing silently if not on a delimiter.
* hywiki.el (hywiki-buttonize-character-commands,
hywiki-buttonize-non-character-commands): Don't run these hook
functions if in the active minibuffer or if edebugging and a minibuffer
is active.
(hywiki-maybe-highlight-balanced-pairs): Fix to return t unless
no opening or closing pair syntax is found.
(hywiki-maybe-highlight-page-name): Use return value of
'hywiki-maybe-highlight-balanced-pairs'; this fixes improper highlighting
of #section with spaces within a delimited pair after such a HyWikiWord
link is activated.
(hywiki-buttonize-non-character-commands
hywiki-debuttonize-non-character-commands): Fix to catch cmds that
have '-delete-' in their names but don't start with 'delete'.
(hywiki-buttonize-non-character-commands): Fix to re-highlight
any HyWikiWords within a delimited region whose delimiter is removed by
calling 'hywiki-maybe-highlight-page-names' with the previously delimited
region.
* hpath.el (hpath:normalize-markup-anchor): Add to separate out normalization
of markup anchors to match the display form of the anchor's referent
based on the enabled modes in the current buffer.
* hyperbole.el (hyperbole--mark-even-if-inactive): Remove, not used.
* hywiki.el (hywiki-get-file): Rename to 'hywiki-get-page-file'.
2025-02-01 Mats Lidell <[email protected]>
* test/hui-tests.el (hui--kill-empty-region-twice): Unit test.
2025-01-30 Mats Lidell <[email protected]>
* test/hui-mini-tests.el (hui--menu-read-from-minibuffer): Unit test.
* test/MANIFEST: Added hui-mini-tests.el.
* test/hui-mini-tests.el: New file. Test for hui-mini.
* hui-mini.el (hui:menu-read-from-minibuffer): Use
replace-regexp-in-string for compatibility with Emacs 27.2.
2025-01-29 Mats Lidell <[email protected]>
* Makefile (HYPB_GEN, HYPB_ELC, HYPB_ELC_ELN, HYPB_at): Verbosity macros.
(VERSIONFLAGS, emacs-environment): Extract to own target to reduce
noise in regular builds.
(HYPB_BIN_WARN): Set default to 'all.
2025-01-27 Mats Lidell <[email protected]>
* hywiki.el (hywiki-cache-save): Shorten docstring.
2025-01-26 Mats Lidell <[email protected]>
* .github/workflows/static.yaml: Remove deploy static content to pages
action. Default deploy is all we need.
2025-01-26 Bob Weiner <[email protected]>
* test/hywiki-tests.el (hywiki-tests--action-key-on-wikiword-and-section-displays-page,
hywiki-tests--action-key-on-wikiword-and-line-column-displays-page):
Fix both of these so they no longer fail.
* test/hy-test-helpers.el (hy-delete-dir-and-buffer): Add support for
deleting automatically created HyWiki cache .hywiki.eld file
before trying to delete directory.
* hui-select.el (hui-select-at-delimited-sexp-p): Correct doc.
* hywiki.el (hywiki-get-referent-hasht): Load/build referent hash table
t if invalid or empty.
* hasht.el (hash-prin1): Add 'reverse' arg and use in 'hywiki-cache-save'.
* hywiki.el (hywiki-maybe-highlight-page-names,
hywiki-maybe-highlight-wikiwords-in-frame, hywiki-add-page):
Replace calls to 'hywiki-directory-set-mod-time' and
'hywiki-directory-set-checksum' with 'hywiki-env-save'.
(hywiki--referent-alist): Add.
(hywiki-cache-default-file, hywiki-cache-file, hywiki-cache-default-file,
hywiki-cache-edit, hywiki-cache-save): Add to save HyWikiWord referent
relations in a persistent cache. This makes HyWikis with multiple referent
types work across Emacs sessions.
(hywiki-make-referent-hasht): Add load from persistent cache.
* README.md: Update to show HTML, Info and PDF links to the Hyperbole Manual
as the first section in this file for easy reference.
* hmouse-tag.el (smart-emacs-lisp-mode-p): Add 'lisp-data-mode' support for
.eld files.
* hywiki.el (hywiki-set-directory): Ensure hash table has been created if
skip call 'hywiki-make-referent-hasht'.
* hasht.el: Change to use lexical scope.
(hash-make): Speed up by referencing 'reverse' value only once.
(hashp): Remove, use builtin 'hash-table-p' instead.
2025-01-20 Mats Lidell <[email protected]>
* test/test-helpers-tests.el (test-helpers-test--make-random-wikiword):
Add test.
* test/MANIFEST: Test file for the test helpers.
* test/hy-test-helpers.el (hy-make-random-wikiword): Helper for making
random WikiWords.
2025-01-20 Bob Weiner <[email protected]>
* hsys-ert.el (require 'hbut): For 'defib'.
* test/hui-tests.el (hui--kill-highlighted-region,
hui--kill-non-highlighted-region): Separate and rename
these tests. Rearrange letters in each subtest so can find which should
is being called.
* hui.el (hui:validate-region): Add to check for valid region args.
(hui-kill-ring-save): Call above function.
* test/hui-tests.el (hui--kill-region,
hui--kill-region-multiple-kill): Add let of
'mark-even-if-inactive'. Also, interactively, set beg and end only
if 'mark-active' is non-nil.
2025-01-19 Bob Weiner <[email protected]>
* hui.el (hui:kill-region): Complete doc string. Set 'region' arg to nil when
killing a delimited region at point. Also use 'hui-select-at-delimited-thing-p'
instead of 'hui-select-delimited-thing'.
(hui:delimited-selectable-thing)
hui:delimited-selectable-thing-and-bounds): Fix so doesn't create an
in-memory Hyperbole button at point if already doing so in a prior stack frame.
The latter is used in 'hui-kill-ring-save' bound to {M-w} in 'hyperbole-mode'.
(require 'hversion): Since 'hyperb:stack-frame' is defined there and
used herein.
* hsys-ert.el (ert-should): Add this new file and implicit button type.
See the Commentary therein for details.
hibtypes.el (load "hsys-ert"): Load above ibtype at near lowest priority.
hui-mouse.el (hkey-alist): Move priority of ert-results-mode to after
(hbut:at-p) so can define implicit buttons in this mode that override
the standard behavior.
man/hyperbole.texi (Smart Key - ERT Results Mode): Update order in the
Hyperbole manual. Also add `ert-should' ibtype.
MANIFEST, Makefile (EL_COMPILE): Add "hsys-ert.el".
* hypb.el (hypb:with-marker): Add context macro for setting a buffer marker
and automatically setting it to nil at the end of the context.
* hui.el (hui:kill-region): Update to only apply completion behavior when
'dynamic-completion-mode' is enabled and call subfunctions interactively
in interactive flag is set.
(hui-kill-region): Simplify 'hui-select-delimited-thing'.
2025-01-19 Mats Lidell <[email protected]>
* test/hui-tests.el (hui--kill-region-multiple-kill, hui--kill-region):
Test hui-kill-region.
2025-01-18 Bob Weiner <[email protected]>
* hywiki.el (hywiki-get-referent-hasht): Fix when building
'hywiki--any-wikiword-regexp-list', allow for either or both #section
and :Lnum:Cnum. This fixes not highlighting "WikiWord:L2".
* hyrolo.el (hyrolo-refresh-file-list): Add to refresh internal expanded list
of HyRolo search files.
test/hyrolo-tests.el (hyrolo-tests--get-file-list): Fix this test by using
the above function.
* hproperty.el (hproperty:but-get-first-in-region): Add so is clear when
want only the first button matching 'property' and 'value'. Call
in 'hproperty:but-get'.
(hproperty:but-get-all-in-region): Change to return all
matches for 'property' and 'value' to fix major HyWiki problem with
not dehighlighting WikiWords when a page is deleted.
* test/hywiki-tests.el (hywiki-tests--add-org-roam-node): Fix mocks.
* hui-mini.el (hui:menu-hywiki): Change HyWiki/Create to call
'hywiki-word-create-and-display'.
* hywiki.el (hywiki-display-referent-type): Help user with an error if
'referent-type' is invalid.
(hywiki-allow-suffix-referent-types): Add to specify referent
types that support suffixes.
(hywiki--add-suffix-to-referent): Uncomment and use in
'hywiki-display-referent'.
(hywiki-add-prompted-referent): Rename to 'hywiki-create-referent'.
(hywiki-create-referent-and-display): Add.
(hywiki-word-create-and-display): Add and use for HyWiki/Create.
(hywiki-add-page): Display message about HyWikiWord page being
added or existing when called interactively.
(hywiki-create-referent): Display message showing referent when
called interactively or with new optional prefix arg 'message-flag'.
(hywiki-create-page): Alias to 'hywiki-add-page' for consistency
with 'hywiki-create-referent'.
(hywiki-word-at): Fix to utilize 'range-flag' when
on a highlighted wikiword.
(hywiki-display-referent-type): If point is on a HyWikiWord that
matches the one given as an argument, then set the current implicit button
attributes of referent-type and referent-value. Specific types of referent
display functions can override the value setting if need be.
(hywiki-page-strip-section): Rename to 'hywiki-word-strip-suffix'.
(hywiki-word-at-point): Add to return wikiword stripped of any suffix.
(hywiki-get-singular-wikiword): Strip any suffix from wikiword.
(hywiki-referent-exists-p): Let 'hywiki-get-referent' make word singular
and remove suffix.
(hywiki-word-read, hywiki-word-read-new): Update doc to use referent
instead of page and call 'hywiki-word-at-point' instead of 'hywiki-word-at'.
(hywiki-word-create): Add and autoload to create but not display
a referent for a HyWikiWord. Useful as a key binding.
(hywiki-add-org-roam-node): Fix to set referent-value to node title
rather than the node itself.
(hywiki-add-org-roam-node, hywiki-display-org-roam-node): Fix to use
Org Roam node title/headline rather than the node itself.
(hywiki-mode): Improve doc.
(hywiki-display-info-node): Use 'link-to-Info-node' action type.
2025-01-12 Mats Lidell <[email protected]>
* test/hywiki-tests.el
(hywiki-tests--action-key-on-hywikiword-displays-page): Rename so
hy:WikiWord is mentioned. Fix removal of temp files.
(hywiki-tests--assist-key-on-hywikiword-displays-help): Rename so
hy:WikiWord is mentioned and refactor to verify help buffer is shown.
(hywiki-tests--action-key-on-wikiword-displays-page)
(hywiki-tests--action-key-on-wikiword-and-section-displays-page): New
tests for verifying display of pages with and without sections.
(hywiki-tests--wikiword-identified-with-delimiters): Add test for
WikiWord with a single hash mark.
(hywiki-tests--action-key-on-wikiword-and-line-column-displays-page):
Test line and column specifiers with WikiWords.
2025-01-09 Mats Lidell <[email protected]>
* test/MANIFEST: Add hycontrol-tests.el
* hycontrol.el (hycontrol-framemove-direction): Quit hycontrol before
displaying error message.
* test/hycontrol-tests.el
(hycontrol-tests--framemove-direction-error-message): Test.
2025-01-05 Bob Weiner <[email protected]>
* hywiki.el (hywiki-org-link-resolve, hywiki-org-link-export): Handle
:Lnum:Cnum at the end of a link.