-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathchanges.txt
959 lines (675 loc) · 37 KB
/
changes.txt
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
Version History:
---------------
1.18.5.1
* Tried to fix up the AppleScript for sending code from Emacs to Stata
under macOS. The security permissions in macOS can sometimes get messed
up if a new Emacs gets installed. Please file bug a bug report if you
have problems.
* Added a command for cleaning up when sending code on the
Mac cannot seem to work:
ado-reset-tcc
This seems to work in Catalina and later, but not in Mojave.
* Added commands added to 18.5 through 13nov2024
* Added manual abbrevs forgotten for 2 versions
* Other minor typo and spaced-out fixes
1.18.5.0
* Fixed the autoit and send2ztata.sh scripts so that sending code
to Stata from StataNow works in Windows and Unix (sorry for the
long delay in the fix)
* Added new commands and Mata functions which were introduced into
Stata either via StataNow 18.5 or in updates to Stata 18
* Got stuck with version number for ado-mode, since the versions
had been based on Stata's version, but now there are two current
versions ... so I picked the higher numbered version
1.18.0.0
Big Changes
* Added lots of new commands from Stata 18 (finally)
Other Changes
* Bettered -foreach- highlighting of varlists. Not perfect, but better.
* Fixed -ml model- to highlight methods properly
* Fixed embarrassingly old -bayesgraph- highlighting errors
* Fixed othe minor highlighting failures
1.17.0.2
* Added -set logmsg- from 04oct2022 update.
* Added StataBE. Eek, this is late. Anyways, thanks to Marc Klemp for
pointing out this glaring omission.
1.17.0.1
* Added -collect composite- commands from 06apr2022 update.
* Fixed bug where sending command to Stata while within the slashes in a
continuation comment would send the wrong command
(by fixing ado-end-of-command).
* Updated the applescript to do a better job notifying the user when macOS
permissions need changing.
* Changed the default comment from /* */ to //. Makes for much nicer
behavior of M-;. Also added ado-comment-start and ado-comment-end,
so you can change these back to /* and */ if you like the old behavior better.
* Reversed roles of ado-new-ado and ado-new-program. In the past, the
former was an alias to the latter. Now it is the other way around. Merely
a pedantic change.
1.17.0.0
Big Changes
* Updated for Stata 17 with the usual adding and deprecating Stata commands.
There are many large changes to make installation easier.
* Commands/ados from sysdirs (PERSONAL, PLUS, SITE, and OLDPLACE) now get
fontified automatically, so there is no longer a need to write your own
ado-mode-hook to do this. The ado-mode functions for adding and removing
font-lock keywords were overhauled to do this more efficiently.
* Added ado-add-sysdir-font-lock flag for auto-loading commands from
sysdirs.This defaults to t, but if you do not want to fontify these
commands, you can set it to nil.
* Made the so-called `new' directory default to PERSONAL. If you have it
customized already, nothing will change. New users no longer need to
specify it.
* Reorganized the customization groupings, because of simplifying the
installation instructions. The most-needed settings are now under ado-main.
.
* Added ado-font-lock-refresh to refresh font locking without having to reload
ado-mode. Finally.
Other Feature Changes
* Added overlooked Stata/IC to script for sending to Stata in unix (thanks to
Mark Clements)
* Added Stata/BE to keep up with Stata renaming Stata/IC to Stata/BE. For
them that like Stata history: Stata/IC was once the fancy-pants version of
Stata (as 'Intercooled' is a kind of turbocharger).
Bug Fixes (not inclusive)
* Fixed the bug which would error out when trying to grab a block when
outside of a block.
Note
* This is the last update which will include the *.elc files in the zipped
package. This is being done because it is really a bad practice to include
them in a repository, as they can be generated from the contents of the
repo. If you use MELPA, Emacs will create the *.elc files when you grab the
package. If you are installing by hand, you'll have to do the compilations
on your own.
1.16.1.6
No feature changes. Fixes for MELPA and for a dumb bug introduced in the last
batch of MELPA changes.
1.16.1.5
Again, no feature changes. Did make changes for submitting code to Stata
which should not affect behavior.
Bumped version number for MELPA versioning and testing.
1.16.1.4
No feature changes. Just taking care of programming conventions for MELPA.
Needed to bump the number for versioning on MELPA.
1.16.1.3
Feature changes
* Fixed highlighting problems with local macro names caused by sloppy code
for allowing emojis in 1.16.1.1.
* Made \ an escape character, again, so that it is possible to escape
double-quotes. It had been made a regular character long ago for a
now-forgotten reason.
* Added ado-clean-buffer for turning lines with just whitespace into empty
lines.
* Changed indenting to use extra indentation for continuations inside of
functions (specifically for extended -cond()-s.
Backward compatibility changes(!)
* Changed default keybindings, because some violated rules found in the
Key Binding Conventions in the Emacs Lisp manual
ado-help-at-point now defaults to C-c C-k
ado-help-command now defaults to C-c M-k
The only reasons for k is that is not yet taken and it kinda looks like an h.
* Changed names of three very old functions (the first ones I put into
ado-mode) and one relatively new function
electric-ado-closing-brace -> ado-electric-closing-brace
electric-ado-brace -> ado-electric-brace
electric-ado-semi -> ado-electric-semi
set-ado-signature-file -> ado-set-ado-signature-file
If you ever wrote any lisp code depending on these (I sure hope not!), then
you'll witness the first backward compatibility break for ado-mode.
MELPA-requested changes
* MELPA requested that the syntax tester files not be included in the
official package, so I moved them into another package. If you really want
the syntax testers, you can find them here:
https://github.com/louabill/ado-mode-syntax-checkers
* Many many coding changes requested by MELPA to make the code more modern.
None of these should affect features.
* Many many changes to docstrings as requested by MELPA.
Git-repo notes
* I put the .elc files into .gitignore, and then removed them from the list
of tracked files. (Repos really shouldn't have easily-reproduced files in
them, as it bloats the history.) The .elc files were originally included so
that people could unzip a file and have ado-mode work quickly without the
added instruction to byte-compile the lisp directory. MELPA byte-compiles
files when doing installations, so the .elc files have become redundant.
NOTE: if you pulled from this repo in the past, from now on, you'll need to
byte-compile the lisp directory after pulling:
M-x d <path_to_ado-mode>
M-x byte-recompile-directory
will do the trick.
* About moving the syntax checkers: I did this in the most primitive way
possible, to help with backwards compatibility: I made a new repo, moved
the files in the syntax_testers there, and then deleted the syntax_testers
directory from this repo. I did _not_ go back and alter the git commits.
The syntax testers were there on purpose, not by mistake, but when using a
package manager like MELPA, they are out of place. If you want to try your
hand at changing ado-mode, you'll want the syntax testers, because they'll
give you feedback about constructions that may or may not highlight
properly. Stata is not a regular/rational language, so highlighting will
always have some problems.
1.16.1.2
* No feature changes (I hope). Just trying to make Melpa-ready.
1.16.1.1
* Fixed bug where sending code to Stata via a do-file (or include file) on
the Mac would mess up any multibyte unicode characters (i.e. anything other
than unaccented Latin letters).
* Fixed highlighting of names containing emojis. Too bad variable names in
Stata cannot start with emojis, though.
1.16.1.0
* Added new -set- subcommands
* Multiple fixes to incomplete and otherwise-missed commands
* Minor fixes to -estat- subcommands
1.16.0.0
* Finally got all the changes for Stata 16 added.
* Added some missing command abbreviations.
1.15.1.6
* Tried fixing mysterious 'Not enough arguments for format string' error
message which could pop up when there were %-symbols in commands being
sent to Stata.
* Fixed highlighting bug in class declarations.
1.15.1.5
* Made ado-mode better at guessing names of help files.
* Added undocumented commands associated with -cscript- (see -help cscript-).
* Added menu items for opening help and source files.
* Small syntax highlighting fixes.
* Put in embarrassing omission of 4 erm commands.
* Put in embarrassing omission of fmm prefix (had svy: fmm: but not fmm:).
* Cleaned up syntax_tester.ado to make it easier to pull all possible
Stata commands from it. (Future project).
* Replaced some emacs-obsolete variables with their newer versions,
meaning that ado-mode now requires Emacs 24.1 or later.
* Updated header info to be more modern in all files.
* Had to change some function names and arguments to make things more
compliant with emac usage:
(ado-delimit-is-semi) was changed to (ado-delimit-is-semi-p)
(ado-find-ado-dirs) changed to require the subdir instead of defaulting
to an obscure directory on my computer (oops)
1.15.1.4
* Unicode names finally work.
* Updated syntax highlighting to try and be smarter about highlighting Stata keywords appearing in the middle of text. This needed to be fixed because of the nice new Stata commands which allow mixing narrative and Stata. The fix cannot be perfect because Stata is not a regular language, so it is hard to detect what any piece of a code line means. There are some known shortcomings.
** Continued lines highlight as a series of independent lines.
** Items which occur mid-line (such as returned values or smcl) still highlight, but that is their nature.
** Mata reserved words and keywords highlight, because they don't follow Stata syntax.
** The first word after a colon (:) will be considered a possible command in most cases, simply because checking for legal prefix commands is nigh-on impossible. This being said, commands for which a prefix command _could_ be legal, but is likely silly will not highlight after a colon.
** All added unofficial commands are assumed to allow prefix commands (cannot be changed).
* Fixed highlighting of local macros which start with numbers.
** Commands like -foreach whatever of global/local- now highlight legal names for locals, but allow globals to have names just like locals (with leading 0's or unicode symbols). This won't likely get fixed, as it'll take a bit of work to make something halfways maintainable. Also: globals are supposed to be exceedingly rare.
* Changed highlighting of local macros to include the opening ` and closing '. It doesn't look that great, but it makes nested local macros, such as `foo`bar'' and ``foo'bar' highlight similarly.
* Fixed some other bugs in highlighting and added highlighting for AssociativeArray methods.
1.15.1.3
* Added a submenu to the Ado-mode > Options menu for changing values for
interacting with Stata (version, flavor, instance, etc.) The instance
is useful only in MS-Windows.
1.15.1.2
* Took out some debugging code which caused extra messages in Windows
* Updated copyright dates in files which had been changed some time recently
1.15.1.1
* Fixed a bug for sending to Stata in Windows
* Made sure -version 15.1- highlighed properly (duh)
1.15.1.0
* Thanks to a good tip from Helge Liebert to point things in the right
direction, it is now possible in linux to communicate with Stata
directly from Emacs! This requires xsel and xdotool, which can be
downloaded via
sudo apt-get install xsel xdotool
in Ubuntu/Debian and
sudo pacman -S xsel xdotool
in Arch
* Highlighting user-written commands found on the ado-path now works in
linux, also
* Added the one new command, -dataex-
* [Programmers only]: Changed the default behavior of the
ado-command-to-clip function to strip leading and trailing whitespace
1.15.0.0
* Updated for Stata 15, finally
* Changed the keybinding for ado-help-command from C-c C-c to C-c M-h.
This was done out of confusion that newer Emacs (>= 25.2) bound
another function to C-c C-c. This was false, but I left the change in
because it is more consistent with other bindings. After all, C-c C-h
is for ado-help-at-point, C-c M-h is a generalization
* Fixed -tssmooth- to display as harmful face
* Fixed highlighting of -manlink-, -manlinki-, -manpage-, and
-mansection- to only accept proper abbreviations for manual names
(like R or P or SVY).
* Fixed a bug in indentation of abbreviations of #delimit
* Fixed a bug in creating help file filenames.
1.14.2.0
* Thanks to leo, fixed ado-send-to-stata to allow spaces in file names
* Added -icd10 search- (in reality, this had been added earlier,
incorrectly, in ado-mode 1.14.0.0)
* Updated version to accept 14.2
1.14.1.0
* Updated -ci- highlighting for new subcommands of -ci-.
* Fixed up sending to Stata for Windows. It seems that the text has to
be translated into utf16 for the pasting to work properly. If you have
trouble with this, try setting emacs to use utf8 as its encoding.
* Added a new template called testado.blp. It makes a dofile which
-includes- the ado file of the same name within a self-logging do-file
so that debugging goes faster.
* Updated the saving of new programs (ado-files) to ask about saving to
ado-personal-dir if ado-new-dir doesn't exist (and ado-personal-dir
does). The whole concept of the 'new' directory was a leftover from
when Stata first introduced the adopath but didn't separate downloads
from personal programs. (The last remnant of this in official Stata is
in c(sysdir_oldplace)).
* Made the embarrassing fix to the default location of the windows
executable. By default, ado-mode assumes that you installed a 64-bit
version in Windows.
* Changed the templates so that if you tell emacs where Stata lives by
setting ado-stata-home, the templates will have the version of your
Stata. No more updating templates for each version of Stata.
* Changed the way that templates work, so that it is easier to have more
complex templates. If you used the ado-new-generic function to create
your own commands for templates, those commands might break. Look at
the readme in the templates directory for more information.
1.14.0.0
* Updated for Stata 14 syntax
* Had to change script for sending text to Stata for Windows to use
method equivalent to copy and paste (This happened because of the
change of the control type for the Command window to a type which
doesn't let its text get set.)
* Updated templates for .ado, .do, and .mata files to use -version 14-
commands
1.13.1.1
* Fixed an embarrassing omission in the customization group for ado-mode
* Fixed a small bug with version numbers in non-ado, non-class, non-do
files
* Fixed a problem introduced by the cmd-S saving in 1.13.1.0 which
allowed a newly created file to overwrite an existing file without
warning.
* Small fixes to templates.
1.13.1.0
* Updated for Stata 13.1
* Finally fixed up saving files so that standard save-file methods (e.g.
cmd-S in Aquamacs Emacs, File > Save File in all OS's) update
timestamps and keep backup copies.
* Fixed highlighting bug for // comments starting at the beginning of a
line
* Fixed indenting bug for -mata- groups (things were fine for -mata:-
groups).
* Changed help.blp to say 'stored results' instead of 'saved results'.
* Now am getting warning about syntax-propertize replacing
font-lock-syntactic-keywords for emacs 24.1 and
later. I'm not going to worry about this, yet---it is used for
#delimit and #review.
1.13.0.0
* Updated for Stata 13
* Fixed highlighting bugs for -irf- and its subcommands
1.12.1.1: (never released)
* updated templates to 'version 12.1'
* noticed that in Stata 12 for MS Windows, if you open the filter on the
review window, AutoIt changes the number of the Command window, so
that attempting to send commands to Stata sends the commands to the
filter instead. To fix the problem, move the Command window to the top
of the screen. There is no possible workaround for the problem, as it
is a bug in AutoIt.
* fixed a bug where the automatic naming of help files got fooled by
help files for topics with spaces in their names (e.g. regress
postestimation).
* changed the way that // comments are recognized so that url's don't
get highlighted as comments
* minor highlighting and behavior bug fixes
1.12.1.0:
* fixed a bug introduced by the Emacs 24 change to the
filter-buffer-substring command
* Added ado-statacorp-defaults which sets indentations, timestamps and
the like to match StataCorp's style for editing.
* Re-fixed the bugs related to semi-colon delimited files. Maybe this
time the fix will be real.
* Now replace multiple tabs/spaces with a single space when sending a
command to the clipboard for consumption by the Command window.
Necessary because the command window does not understand tab
characters.
* Fixed minor fontification bugs.
1.12.0.2: not released to general public
1.12.0.1:
* Added two new commands for opening any file on the adopath (think:
editing in place of -viewsource-): ado-open-command, which tries to
identify the current command and open its ado-file, and
ado-open-any-file which will open any file. By default, these files
are opened in read-only mode, to protect against accidental editing.
This behavior can be customized as usual, and can be set temporarily
in the Ado-mode > Options menu.
* Added/Changed some keybindings:
C-c C-o and C-c C-f allow you to open any file on your default adopath.
C-c M-o and C-c M-f allow you to open the current command.
C-c C-e is the new binding for inserting a -foreach- loop.
* ado-stata-home is now set by default to be the typical installation
directory for Stata on the three platforms to:
Mac OS X: /Applications/Stata/
Windows 7/Vista/XP: c:/Program Files/Stata12
Unix: /usr/local/stata12
* Added commands for (re)setting the named parts of the adopath to their
values at the start of a Stata session: ado-reset-personal-dir,
ado-reset-plus-dir, etc.
* Fixed a bug where submitting the whole buffer would submit only the
current command if the buffer was dirty.
* Changed how ado-mode decides on file types, because of changes to how
.sthlp files are made in Stata 12. This should also help in ado-files
with long sets of *! comments at the top.
* Semi-fixed bug after #delimit ; so blocks of commands are sent to Stata
properly, as version 1.12.0.2 notes.
* Fixed minor fontification (highlighting) bugs.
1.12.0.0:
* Updated for Stata 12
* Added different highlighting for commands requiring a subcommand.
Incomplete multi-word commands should now be clearer. This is likely
to be a little incomplete, so please send reports to me about it.
* Added a new function (ado-input-to-stata) which asks for a command in
the minibuffer, and then sends the command to Stata. This is bound to
C-c C-t by default.
* Changed indenting so that continuations inside of parens or braces
take the parens or braces into account. This (should) be an
improvement.
* Changed the way to name .sthlp files, so that the name can be found
both for Stata 12 as well as pre-Stata 12 help files. This was needed
because of the new quick access tags at the start of Stata 12
helpfiles.
* Updated the help.blp template greatly, so that it contained new smcl
tags and also contained sections useful for user-written commands.
Thus, it now differs from the template in the Users Guide.
* Included a better way of pasting to the Command window under MS
Windows, thanks to Daniel Green passing on some code from Jeffery
Arnold and Matthew Botsch. Should be much faster now, especially when
pasting large blocks of code.
* Changed formatting in this version history to make it more readable.
1.11.2.1:
* Fixed bug for sending via do-file on the Mac, where the working
directory would be changed to the users tmp directory
* Added a new way of sending commands to Stata (as suggested by David
Lucca): "include". This option is the same as sending via a do-file,
except that the command sent is -include ...-. The advantage of this
is that local macros defined earlier will still be defined, allowing
incremental work inside larger do-files. Thanks, David, for a Very
Good Idea.
* Stopped adding an extra <eol> when working via the do-file editor or
includes, because this should be handled by the script passing the
clipboard to Stata.
1.11.2.0:
* Updated to allow -version 11.2-
* Fixed bug in AutoIt script for Windows where adomode would get
confused if there was a Graph window open (or even any web browser
pointed at Stata's website). AutoIt now uses a regexp to find either
"Small Stata" or "Stata/(IC|SE|MP)". This should be good unless you
are visiting a site like http://www.stata.com/statamp while using
ado-mode. (Checking the window class for a Stata window doesn't help,
so this will be as good as it gets.)
* Put in better error-checking for a bad value in ado-script-dir.
* Fixed up code for sending to Stata under Windows so that spaces are
allowed in filenames. I think.
* Tried to fix highlighting of commands when followed by a special
character like a paren, because 'generate' should highlight, but
'generate(' should not.
* Fixed minor highlighting bugs.
* Cleaned up font highlighting of added commands.
* Anyone finding bugs, please report. Passing code to Windows is
complicated because there can be no passing of the clipboard AND
waiting to see if there was an error in passing code, so debugging is
really hard for me, being a non-Windows user.
1.11.1.2:
* BEHAVIOR CHANGE: if you have a .ado-signature file, see the last
item.
* Added support for sending code to Stata when there are multiple
instances of Stata running (MS Windows only). How the code is sent is
ruled by 5 options:
ado-send-to-all-flag: if this is t, then all instances get the sent
code.
ado-stata-version, ado-stata-flavor, and ado-stata-instance:
When these filters are specified, emacs will look at all running
instances and count the number of these that are matched (note
that the default values will match any Stata). If
ado-strict-match-flag is nil (the default), *all* Statas which tie
for most matches are considered candidates for the code. (This is
done so that when all are at their default values, they will
always match any running Stata.) If ado-strict-match-flag is t,
then only those which match all 3 filters are candidates.
Some examples:
For each of the following, suppose that there are two instances of
StataMP 11.1, one instance of StataSE 10.1 running, and one
instance of StataMP 10.1 running.
If no filters are set, the ado-strict-match-flag is nil, there will
be 4 matching Statas. If the ado-send-to-all-flag is false, you
will get an error, if the ado-send-to-all flag is true, all 4
instances will get the same command.
If ado-strict-match-flag is t, there will also be 4 matching
Statas.
If ado-stata-flavor is "SE", and the other filters are unset, there
will be 1 matching Stata, regardless of the state of the
ado-strict-match-flag.
If ado-stata-version is 12, and ado-stata-flavor is "MP", there will
be 0 matching Statas if the ado-strict-match-flag is t (because no
Stata is Stata 12), but there will be 3 matching Statas if
ado-strict-matching is nil, because the 3 StataMP instances will
all match 2 out of 3 filters (the "MP" filter and the unset
filter).
* Added new functions for working with blocks of codes:
ado-balance-braces will balance {[()]} outside of strings and
comments. Used multiple times, it will keep expanding matching pairs.
It is bound to C-c C-b.
While this is nice, ado-grab-block is nicer. It will balance only {},
which is useful for grabbing blocks of commands. Because this will
often be used with loops, it will also grab whatever defines the loop.
Repeated use will grab the nesting blocks.
For both of the above, a region is selected, so the region can be sent
to Stata in the usual fashion.
If you are sure that you want to submit the current narrowest block,
you can use ado-send-block-to-stata, which is simply an ado-grab-block
followd by an ado-send-command-to-stata. This is bound to C-c M-b.
One warning: in this initial version, emacs' default behavior is
followed, where different braces can match if there are unbalanced
braces. Thus {these DO balance].
* Added menu item Ado > New > Do-file
* Updated help-file template to match the not-so-new way that Stata
likes its help files, using the synopt table for options before the
Description section.
* Changed the authorship routine so it is easier to not have any author
(good for me working at Stata). There is a new flag
ado-help-author-flag---if it is nil, the Author section will be
deleted, otherwise the Author section will be included. The behavior
of ado-signature-prompt-flag now makes more sense; if nil, the user
will be prompted to give a signature file only if the signature file
is missing. This will affect approximately 0 people.
* If you have a .ado-signature file for filling in the authorship
section of a sthlp file, you might need to change it. It should now
just have your info, without any paragraph-mode items.
So... the following is good:
Bill Rising, StataCorp{break}
email: [email protected]{break}
web: {browse "http://homepage.mac.com/brising":http://homepage.mac.com/brising}
This will affect at least one person (me).
1.11.1.1:
* Added fontification for ado files in Stata's -sysdir- locations. So,
for example, if you download the command -renvars-, -renvars- will now
use have syntax highlighting in emacs. For this to work, you *must*
run M-x customize-group RET ado-path to tell emacs what directories
house your customizations. Look at the personal_scrap.el file for more
help on doing this automatically. It's magical. Really. Since this is
so magical, its features might change based on feedback.
* Added new functions ado-next-error and ado-prev-error, which search
for something indicating an error (in a text file, a non-zero return
code, in a smcl file an {err} tag). If tracing is on, this will jump
to the line creating the error rather than the tag or error code
itself.
* Fixed an embarrassing bug for using the comeback flag in windows. It
looks like I didn't test it much originally, if at all.
1.11.1.0:
* Updated for Stata 11.1
* Big internal change: got rid of make-regexps in favor of regexp-opt,
so that all called functions were part of standard emacs. Though
make-regexps was nice to use, it was way out of date.
* Split all the endless font-locking code into its own file, so that
others who would like to use it in their own packages will have an
easier time.
* Fixed the silly *Async Shell Command* buffer problem when sending code
to Stata in MS Windows.
* Various highlighting bug fixes.
1.11.0.1:
* Fixed a bug where sending code to Stata from MS Windows via a do-file
failed.
1.11.0.0:
* Added functionality for sending code to Stata in MS Windows. So...it
is now possible to send code to Stata from both Mac OS X and MS
Windows. The default keystroke is M-RET.
(MS Windows note: when sending to Stata, *Async Shell Command* buffer
will open. Since you cannot avoid this, just make the pane as small as
possible. I cannot figure out how to get autoit's executable to run
synchronously with emacs.)
* Added functionality for getting help for commands directly from emacs.
C-cC-c gets help for the command, C-cC-h gets help for word at point.
Because these work via sending commands, they are also Mac/Win only.
* Fixed highlighting for -estat classification- abbreviations
* Fixed problems with spaces in paths when using ado-send-to-stata
* Fixed some typos in the documentation of functions
* Updated for Staga 11 commands, including new commands and marking
obsolete commands as such
* Changed the templates to default to version 11
1.10.1.2:
* (Finally) changed the update of the time stamp to not add the old
timestamp to the kill ring.
* Fixed a bug where stripping comments failed when there were tabs as
part of the whitespace before the comment string. This could occur when
lines were split. To shut off tabs when splitting lines, set
indent-tabs-mode to nil.
1.10.1.1:
* Added functionality for sending regions or commands to Stata, at least
inside Mac OS X(!). The design *should* make it possible to implement the
same behavior in MS Windows or Unix, because the code for putting the proper
information on the clipboard is written to be platform independent. The
methods for getting the clipboard to Stata itself are not (of course).
All that is needed is something which will paste the
clipboard/pasteboard into Stata's command window. Everything else is
internal to emacs. Look inside ado-to-stata.el to see how things are
sent via applescript on the Mac.
If you come up with a script for unix or windows, please send it to
me, so I can change the functionality of ado-mode to be more
platform-agnostic (brising at mac dot com).
If you use MS Windows or Unix, there is some consolation, because
running M-RET will take the function containing the point (or the
region if one is selected) and put it in the clipboard in a way the
Commmand window can use it. All you need to do is paste into the
Command window.
* Along with this functionality is the ability to get help from Stata
for the word at point. (ado-help-at-point, bound to C-c C-h, and
ado-help-command, bound to C-c C-c)
* A key binding has changed. Meta-Return now sends the
region/command to Stata, and Shift-Meta-Return splits a line.
In OSes which don't work directly with Stata, Meta-Return will put
a version of the region or the command in which point is sitting on
the clipboard, so it can be pasted in the command window.
* Fixed up the methods for determining the type of file and the default
name. NOTE: for .ado or .class files, the name of the program or class
must come in the first 200 characters of the file. Lesson: if you use a
helper program in a do-file, be sure to wait a little before defining
it. The 200-character cutoff is entirely arbitrary.
* Added a newer (and better) definition of `how-many' to the ado-hacks.el
file for users who haven't yet updated to emacs 22.1.1.
* Added ado-new-ado for a new ado file. This is identical to ado-new-program.
* Added do.blp and ado-new-do to make do-files which both log and can be nested.
* Added mata.blp and ado-new-mata to make mata definition files.
* Fixed ado-new-generic to be smarter about naming new files (like mata files).
* Added new preference flag for updating timestamps... they now can be shut
off. This is accessible from the Ado-mode->Options menu, like all other
flags for formatting.
* Added new random number generating functions.
* Finally made ado-insert-nice-current-date to interactively insert timestamps.
* Finally put in leading * comment highlighting.
* Updated the template for help files.
1.10.0.0: Added several bits of functionality suggested by Uli Kohler:
* changed method for indenting so that do-files are properly indented:
the indentation is incremented by each defined program (program [define])
and decremented by each end statement.
* it is now possible to choose a default column for continuation strings in
similarly to that for comments. This column is respected by
ado-split-line if ado-line-up-continuations is non-nil.
* created ado-macify-selection-or-word which will put `' around the current
selection. If nothing is selected, but the point is in a word, it
will put `' around the current word. Finally if the point surrounded by
whitespace it will insert `' and leave point inside the macro.
* created ado-stringify-selection, which will put `""' around the current
selection (if any). If nothing is selected, inserts `""' and leaves the
point inside the quotations.
* created ado-strmacify-selection-or-word which macifies and then stringifies
the object of interest.
Other changes:
* added Stata 10 commands, functions, and the like.
* now try to highlight ++ and -- following local macro defs as obsolete, as
a warning to people like me who forget that the incrementation must
preceed the macro name.
* changed indenting, so that mata: alone on a line will cause the
following lines to indent (until an end statement is found).
* changed name of ado-help-file to ado-new-help.
* added new customizable variable ado-help-extension which can be
toggled between its default of 'sthlp' and 'hlp' using
ado-toggle-help-extension.
* added ado-new-cscript for starting cert scripts.
* changed the menus a little to take advantage of contextual menus.
* changed versioning numbers, but kept increasing sequence.
* arbitrary bug fixes to some of the more complicated highlighting.
0.92.0: Added additional functions introduced in online updates. Some are
from before the 20jan2006 update, sad to say. Fixed bug for indentation
before special commands (like end or version). This changed the behavior
of ado-beginning-of-command [M-a] to sit still when in a blank line when
the delimiter is cr.
* fixed bad fontification
** of local when used as local ``foo'' with double quotes.
** of tempvar, tempfile, tempname when followed by quoted local macro.
* added code which runs if the user is using Aquamacs emacs. Not sure of
the wisdom of having this in the main file, perhaps it will be broken out
in the future.
0.91.2: Added Mata functions introduced in the 20jan2006 update to Stata,
and added the ado-hacks.el file, which includes a function defined in
Stata 22, but not earlier: line-number-at-pos. This handy function is
good for complicated indentations and for jumping back to the beginning
of commands... but missing it will break emacs 21.whatever.
0.91.1: Separated change history off.
* changed format of new history entries
* changed all my addresses to my new job forgot this in 0.91.0.
* changed behavior for saving files to be more emacs-like.
** When saving a file under its old name, there is no confirmation, like usual
emacs saving
** if ado-mode, ahem, corrects the file name *and* there is a saved file of that
name in the default directory already, it *will* prompt, to avoid mistaken
overwrites.
** thanks to Brendan Halpin for pointing this out
* fixed some minor programming badness, such as using insert-file when
insert-file-contents was the proper command to use.
* fixed and improved indentation, so that continued commands with embedded
comments are indented properly.
* fixed bugs in indentation when using a semi-colon for the delimiter
* changed method for comment indentation, so that /* and */ on different
lines will line up, with the text on in-between lines indented to one
extra level of indentation. (requested by Patrick Ball)
* Mata changes
** added new faces for current mata keywords, future mata keywords, and
mata functions (though the mata function face defaults to the regular
function face.
** included all the mata functions, as far as I can tell.
** did not change anything else with indentation for Mata functions.
0.91.0: Fixed highlighting to work with all new Stata commands
except the new Mata commands. They will arrive in another update.
No real changes to the underpinnings.
0.82.5: Fixed numerous problems with indenting and moving to
the beginning and end of commands when using semi-colons as
the delimiter. Bound M-e to ado-end-of-command. Fixed the
behavior of this and ado-beginning-of-command.
0.82.4: Hacked the highlighting to make embedded strings, a la
`"this is "embedded", you know"'
look right. Emacs won't treat them properly internally, but
at least they will look like strings.
0.82.3: Added the new commands related to time series from the July 23,
2004 update of Stata. Made the now obsolete -varfcast- and -varinf- show
up as obsolete.
0.82.2: Fixed the bug where ado-mode got confused by opening .do files
which had subprogram defined in them.
0.82.1: Added the new commands, macro extended commands and new SMCL
directives from the July 1, 2004 update of Stata. Minor stuff.
0.82: Changed behavior when -do- files are saved to fix the bug that would cause
-do- files which defined programs to get saved as -ado- files named after the
first locally defined program. Other bug fixes for highlighting of some
lesser-used constructions.
0.81: Changed behavior of open and close quotes (` and ') so that they no longer
behave like parentheses, meaning that they don't flash and don't affect indentation.
This should have been done earlier when ' was allowed for matrix transposition.
0.80: Serious upgrade: made to work with Stata 8, customization groups added,
font-locking made more flexible, buffer-local changes to indentation and
the like added.
<0.80: Updates for Stata changes - out-of-date emacs code.