aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyle Meyer2021-10-02 14:27:55 -0400
committerKyle Meyer2021-10-02 14:41:27 -0400
commitbb209cd5ab819c72784de7278092705e59ff41d5 (patch)
treee169d918d7090a10a8e30bf0ff9e914cc9d2d733
parent4341e79a5fad3e5e668a3eeb1b688d1986011481 (diff)
downloademacs-bb209cd5ab819c72784de7278092705e59ff41d5.tar.gz
emacs-bb209cd5ab819c72784de7278092705e59ff41d5.zip
Update to Org 9.5-30-g10dc9d
The plan is to cut the Org 9.5.1 release and include it in Emacs 28.1, but in the meantime regularly sync changes from Org's bugfix branch to emacs-28. This sync includes files from Org 9.5's new etc/csl/ directory that should have been synced in bf9ec3d91a (Update to Org 9.5, 2021-09-29).
-rw-r--r--etc/org/csl/README10
-rw-r--r--etc/org/csl/chicago-author-date.csl658
-rw-r--r--etc/org/csl/locales-en-US.xml357
-rw-r--r--lisp/org/ob-gnuplot.el2
-rw-r--r--lisp/org/ob-julia.el42
-rw-r--r--lisp/org/oc-csl.el24
-rw-r--r--lisp/org/org-macs.el9
-rw-r--r--lisp/org/org-src.el19
-rw-r--r--lisp/org/org-version.el2
-rw-r--r--lisp/org/org.el1
10 files changed, 1074 insertions, 50 deletions
diff --git a/etc/org/csl/README b/etc/org/csl/README
new file mode 100644
index 00000000000..a9212207ccf
--- /dev/null
+++ b/etc/org/csl/README
@@ -0,0 +1,10 @@
1These data files are used by Org's oc-csl.el library.
2
3LICENSE INFORMATION
4
5chicago-author-date.csl
6locales-en-US.xml
7
8 Both of these files are part of the Citation Style Language (CSL)
9 project (<https://citationstyles.org/>) and are released under the
10 Creative Commons Attribution-ShareAlike 3.0 Unported license.
diff --git a/etc/org/csl/chicago-author-date.csl b/etc/org/csl/chicago-author-date.csl
new file mode 100644
index 00000000000..8c133354b38
--- /dev/null
+++ b/etc/org/csl/chicago-author-date.csl
@@ -0,0 +1,658 @@
1<?xml version="1.0" encoding="utf-8"?>
2<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">
3 <info>
4 <title>Chicago Manual of Style 17th edition (author-date)</title>
5 <id>http://www.zotero.org/styles/chicago-author-date</id>
6 <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>
7 <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
8 <author>
9 <name>Julian Onions</name>
10 <email>julian.onions@gmail.com</email>
11 </author>
12 <contributor>
13 <name>Sebastian Karcher</name>
14 </contributor>
15 <contributor>
16 <name>Richard Karnesky</name>
17 <email>karnesky+zotero@gmail.com</email>
18 <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>
19 </contributor>
20 <contributor>
21 <name>Andrew Dunning</name>
22 <email>andrew.dunning@utoronto.ca</email>
23 <uri>https://orcid.org/0000-0003-0464-5036</uri>
24 </contributor>
25 <contributor>
26 <name>Matthew Roth</name>
27 <email>matthew.g.roth@yale.edu</email>
28 <uri> https://orcid.org/0000-0001-7902-6331</uri>
29 </contributor>
30 <contributor>
31 <name>Brenton M. Wiernik</name>
32 </contributor>
33 <category citation-format="author-date"/>
34 <category field="generic-base"/>
35 <summary>The author-date variant of the Chicago style</summary>
36 <updated>2018-01-24T12:00:00+00:00</updated>
37 <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
38 </info>
39 <locale xml:lang="en">
40 <terms>
41 <term name="editor" form="verb-short">ed.</term>
42 <term name="container-author" form="verb">by</term>
43 <term name="translator" form="verb-short">trans.</term>
44 <term name="editortranslator" form="verb">edited and translated by</term>
45 <term name="translator" form="short">trans.</term>
46 </terms>
47 </locale>
48 <macro name="secondary-contributors">
49 <choose>
50 <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">
51 <group delimiter=". ">
52 <names variable="editor translator" delimiter=". ">
53 <label form="verb" text-case="capitalize-first" suffix=" "/>
54 <name and="text" delimiter=", "/>
55 </names>
56 <names variable="director" delimiter=". ">
57 <label form="verb" text-case="capitalize-first" suffix=" "/>
58 <name and="text" delimiter=", "/>
59 </names>
60 </group>
61 </if>
62 </choose>
63 </macro>
64 <macro name="container-contributors">
65 <choose>
66 <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
67 <group prefix=", " delimiter=", ">
68 <names variable="container-author" delimiter=", ">
69 <label form="verb" suffix=" "/>
70 <name and="text" delimiter=", "/>
71 </names>
72 <names variable="editor translator" delimiter=", ">
73 <label form="verb" suffix=" "/>
74 <name and="text" delimiter=", "/>
75 </names>
76 </group>
77 </if>
78 </choose>
79 </macro>
80 <macro name="editor">
81 <names variable="editor">
82 <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
83 <label form="short" prefix=", "/>
84 </names>
85 </macro>
86 <macro name="translator">
87 <names variable="translator">
88 <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
89 <label form="short" prefix=", "/>
90 </names>
91 </macro>
92 <macro name="recipient">
93 <choose>
94 <if type="personal_communication">
95 <choose>
96 <if variable="genre">
97 <text variable="genre" text-case="capitalize-first"/>
98 </if>
99 <else>
100 <text term="letter" text-case="capitalize-first"/>
101 </else>
102 </choose>
103 </if>
104 </choose>
105 <names variable="recipient" delimiter=", ">
106 <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
107 <name and="text" delimiter=", "/>
108 </names>
109 </macro>
110 <macro name="substitute-title">
111 <choose>
112 <if type="article-magazine article-newspaper review review-book" match="any">
113 <text macro="container-title"/>
114 </if>
115 </choose>
116 </macro>
117 <macro name="contributors">
118 <group delimiter=". ">
119 <names variable="author">
120 <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
121 <label form="short" prefix=", "/>
122 <substitute>
123 <names variable="editor"/>
124 <names variable="translator"/>
125 <names variable="director"/>
126 <text macro="substitute-title"/>
127 <text macro="title"/>
128 </substitute>
129 </names>
130 <text macro="recipient"/>
131 </group>
132 </macro>
133 <macro name="contributors-short">
134 <names variable="author">
135 <name form="short" and="text" delimiter=", " initialize-with=". "/>
136 <substitute>
137 <names variable="editor"/>
138 <names variable="translator"/>
139 <names variable="director"/>
140 <text macro="substitute-title"/>
141 <text macro="title"/>
142 </substitute>
143 </names>
144 </macro>
145 <macro name="interviewer">
146 <names variable="interviewer" delimiter=", ">
147 <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>
148 <name and="text" delimiter=", "/>
149 </names>
150 </macro>
151 <macro name="archive">
152 <group delimiter=". ">
153 <text variable="archive_location" text-case="capitalize-first"/>
154 <text variable="archive"/>
155 <text variable="archive-place"/>
156 </group>
157 </macro>
158 <macro name="access">
159 <group delimiter=". ">
160 <choose>
161 <if type="graphic report" match="any">
162 <text macro="archive"/>
163 </if>
164 <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
165 <text macro="archive"/>
166 </else-if>
167 </choose>
168 <choose>
169 <if type="webpage post-weblog" match="any">
170 <date variable="issued" form="text"/>
171 </if>
172 </choose>
173 <choose>
174 <if variable="issued" match="none">
175 <group delimiter=" ">
176 <text term="accessed" text-case="capitalize-first"/>
177 <date variable="accessed" form="text"/>
178 </group>
179 </if>
180 </choose>
181 <choose>
182 <if type="legal_case" match="none">
183 <choose>
184 <if variable="DOI">
185 <text variable="DOI" prefix="https://doi.org/"/>
186 </if>
187 <else>
188 <text variable="URL"/>
189 </else>
190 </choose>
191 </if>
192 </choose>
193 </group>
194 </macro>
195 <macro name="title">
196 <choose>
197 <if variable="title" match="none">
198 <choose>
199 <if type="personal_communication" match="none">
200 <text variable="genre" text-case="capitalize-first"/>
201 </if>
202 </choose>
203 </if>
204 <else-if type="bill book graphic legislation motion_picture song" match="any">
205 <text variable="title" text-case="title" font-style="italic"/>
206 <group prefix=" (" suffix=")" delimiter=" ">
207 <text term="version"/>
208 <text variable="version"/>
209 </group>
210 </else-if>
211 <else-if variable="reviewed-author">
212 <choose>
213 <if variable="reviewed-title">
214 <group delimiter=". ">
215 <text variable="title" text-case="title" quotes="true"/>
216 <group delimiter=", ">
217 <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>
218 <names variable="reviewed-author">
219 <label form="verb-short" text-case="lowercase" suffix=" "/>
220 <name and="text" delimiter=", "/>
221 </names>
222 </group>
223 </group>
224 </if>
225 <else>
226 <group delimiter=", ">
227 <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>
228 <names variable="reviewed-author">
229 <label form="verb-short" text-case="lowercase" suffix=" "/>
230 <name and="text" delimiter=", "/>
231 </names>
232 </group>
233 </else>
234 </choose>
235 </else-if>
236 <else-if type="legal_case interview patent" match="any">
237 <text variable="title"/>
238 </else-if>
239 <else>
240 <text variable="title" text-case="title" quotes="true"/>
241 </else>
242 </choose>
243 </macro>
244 <macro name="edition">
245 <choose>
246 <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
247 <choose>
248 <if is-numeric="edition">
249 <group delimiter=" " prefix=". ">
250 <number variable="edition" form="ordinal"/>
251 <text term="edition" form="short" strip-periods="true"/>
252 </group>
253 </if>
254 <else>
255 <text variable="edition" text-case="capitalize-first" prefix=". "/>
256 </else>
257 </choose>
258 </if>
259 <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
260 <choose>
261 <if is-numeric="edition">
262 <group delimiter=" " prefix=", ">
263 <number variable="edition" form="ordinal"/>
264 <text term="edition" form="short"/>
265 </group>
266 </if>
267 <else>
268 <text variable="edition" prefix=", "/>
269 </else>
270 </choose>
271 </else-if>
272 </choose>
273 </macro>
274 <macro name="locators">
275 <choose>
276 <if type="article-journal">
277 <choose>
278 <if variable="volume">
279 <text variable="volume" prefix=" "/>
280 <group prefix=" (" suffix=")">
281 <choose>
282 <if variable="issue">
283 <text variable="issue"/>
284 </if>
285 <else>
286 <date variable="issued">
287 <date-part name="month"/>
288 </date>
289 </else>
290 </choose>
291 </group>
292 </if>
293 <else-if variable="issue">
294 <group delimiter=" " prefix=", ">
295 <text term="issue" form="short"/>
296 <text variable="issue"/>
297 <date variable="issued" prefix="(" suffix=")">
298 <date-part name="month"/>
299 </date>
300 </group>
301 </else-if>
302 <else>
303 <date variable="issued" prefix=", ">
304 <date-part name="month"/>
305 </date>
306 </else>
307 </choose>
308 </if>
309 <else-if type="legal_case">
310 <text variable="volume" prefix=", "/>
311 <text variable="container-title" prefix=" "/>
312 <text variable="page" prefix=" "/>
313 </else-if>
314 <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
315 <group prefix=". " delimiter=". ">
316 <group>
317 <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>
318 <number variable="volume" form="numeric"/>
319 </group>
320 <group>
321 <number variable="number-of-volumes" form="numeric"/>
322 <text term="volume" form="short" prefix=" " plural="true"/>
323 </group>
324 </group>
325 </else-if>
326 <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
327 <choose>
328 <if variable="page" match="none">
329 <group prefix=". ">
330 <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>
331 <number variable="volume" form="numeric"/>
332 </group>
333 </if>
334 </choose>
335 </else-if>
336 </choose>
337 </macro>
338 <macro name="locators-chapter">
339 <choose>
340 <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
341 <choose>
342 <if variable="page">
343 <group prefix=", ">
344 <text variable="volume" suffix=":"/>
345 <text variable="page"/>
346 </group>
347 </if>
348 </choose>
349 </if>
350 </choose>
351 </macro>
352 <macro name="locators-article">
353 <choose>
354 <if type="article-newspaper">
355 <group prefix=", " delimiter=", ">
356 <group delimiter=" ">
357 <text variable="edition"/>
358 <text term="edition"/>
359 </group>
360 <group>
361 <text term="section" form="short" suffix=" "/>
362 <text variable="section"/>
363 </group>
364 </group>
365 </if>
366 <else-if type="article-journal">
367 <choose>
368 <if variable="volume issue" match="any">
369 <text variable="page" prefix=": "/>
370 </if>
371 <else>
372 <text variable="page" prefix=", "/>
373 </else>
374 </choose>
375 </else-if>
376 </choose>
377 </macro>
378 <macro name="point-locators">
379 <choose>
380 <if variable="locator">
381 <choose>
382 <if locator="page" match="none">
383 <choose>
384 <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
385 <choose>
386 <if variable="volume">
387 <group>
388 <text term="volume" form="short" suffix=" "/>
389 <number variable="volume" form="numeric"/>
390 <label variable="locator" form="short" prefix=", " suffix=" "/>
391 </group>
392 </if>
393 <else>
394 <label variable="locator" form="short" suffix=" "/>
395 </else>
396 </choose>
397 </if>
398 <else>
399 <label variable="locator" form="short" suffix=" "/>
400 </else>
401 </choose>
402 </if>
403 <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
404 <number variable="volume" form="numeric" suffix=":"/>
405 </else-if>
406 </choose>
407 <text variable="locator"/>
408 </if>
409 </choose>
410 </macro>
411 <macro name="container-prefix">
412 <text term="in" text-case="capitalize-first"/>
413 </macro>
414 <macro name="container-title">
415 <choose>
416 <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
417 <text macro="container-prefix" suffix=" "/>
418 </if>
419 </choose>
420 <choose>
421 <if type="webpage">
422 <text variable="container-title" text-case="title"/>
423 </if>
424 <else-if type="legal_case" match="none">
425 <group delimiter=" ">
426 <text variable="container-title" text-case="title" font-style="italic"/>
427 <choose>
428 <if type="post-weblog">
429 <text value="(blog)"/>
430 </if>
431 </choose>
432 </group>
433 </else-if>
434 </choose>
435 </macro>
436 <macro name="publisher">
437 <group delimiter=": ">
438 <text variable="publisher-place"/>
439 <text variable="publisher"/>
440 </group>
441 </macro>
442 <macro name="date">
443 <choose>
444 <if variable="issued">
445 <group delimiter=" ">
446 <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>
447 <date variable="issued">
448 <date-part name="year"/>
449 </date>
450 </group>
451 </if>
452 <else-if variable="status">
453 <text variable="status" text-case="capitalize-first"/>
454 </else-if>
455 <else>
456 <text term="no date" form="short"/>
457 </else>
458 </choose>
459 </macro>
460 <macro name="date-in-text">
461 <choose>
462 <if variable="issued">
463 <group delimiter=" ">
464 <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>
465 <date variable="issued">
466 <date-part name="year"/>
467 </date>
468 </group>
469 </if>
470 <else-if variable="status">
471 <text variable="status"/>
472 </else-if>
473 <else>
474 <text term="no date" form="short"/>
475 </else>
476 </choose>
477 </macro>
478 <macro name="day-month">
479 <date variable="issued">
480 <date-part name="month"/>
481 <date-part name="day" prefix=" "/>
482 </date>
483 </macro>
484 <macro name="collection-title">
485 <choose>
486 <if match="none" type="article-journal">
487 <choose>
488 <if match="none" is-numeric="collection-number">
489 <group delimiter=", ">
490 <text variable="collection-title" text-case="title"/>
491 <text variable="collection-number"/>
492 </group>
493 </if>
494 <else>
495 <group delimiter=" ">
496 <text variable="collection-title" text-case="title"/>
497 <text variable="collection-number"/>
498 </group>
499 </else>
500 </choose>
501 </if>
502 </choose>
503 </macro>
504 <macro name="collection-title-journal">
505 <choose>
506 <if type="article-journal">
507 <group delimiter=" ">
508 <text variable="collection-title"/>
509 <text variable="collection-number"/>
510 </group>
511 </if>
512 </choose>
513 </macro>
514 <macro name="event">
515 <group delimiter=" ">
516 <choose>
517 <if variable="genre">
518 <text term="presented at"/>
519 </if>
520 <else>
521 <text term="presented at" text-case="capitalize-first"/>
522 </else>
523 </choose>
524 <text variable="event"/>
525 </group>
526 </macro>
527 <macro name="description">
528 <choose>
529 <if variable="interviewer" type="interview" match="any">
530 <group delimiter=". ">
531 <text macro="interviewer"/>
532 <text variable="medium" text-case="capitalize-first"/>
533 </group>
534 </if>
535 <else-if type="patent">
536 <group delimiter=" " prefix=". ">
537 <text variable="authority"/>
538 <text variable="number"/>
539 </group>
540 </else-if>
541 <else>
542 <text variable="medium" text-case="capitalize-first" prefix=". "/>
543 </else>
544 </choose>
545 <choose>
546 <if variable="title" match="none"/>
547 <else-if type="thesis personal_communication speech" match="any"/>
548 <else>
549 <group delimiter=" " prefix=". ">
550 <text variable="genre" text-case="capitalize-first"/>
551 <choose>
552 <if type="report">
553 <text variable="number"/>
554 </if>
555 </choose>
556 </group>
557 </else>
558 </choose>
559 </macro>
560 <macro name="issue">
561 <choose>
562 <if type="legal_case">
563 <text variable="authority" prefix=". "/>
564 </if>
565 <else-if type="speech">
566 <group prefix=". " delimiter=", ">
567 <group delimiter=" ">
568 <text variable="genre" text-case="capitalize-first"/>
569 <text macro="event"/>
570 </group>
571 <text variable="event-place"/>
572 <text macro="day-month"/>
573 </group>
574 </else-if>
575 <else-if type="article-newspaper article-magazine personal_communication" match="any">
576 <date variable="issued" form="text" prefix=", "/>
577 </else-if>
578 <else-if type="patent">
579 <group delimiter=", " prefix=", ">
580 <group delimiter=" ">
581 <!--Needs Localization-->
582 <text value="filed"/>
583 <date variable="submitted" form="text"/>
584 </group>
585 <group delimiter=" ">
586 <choose>
587 <if variable="issued submitted" match="all">
588 <text term="and"/>
589 </if>
590 </choose>
591 <!--Needs Localization-->
592 <text value="issued"/>
593 <date variable="issued" form="text"/>
594 </group>
595 </group>
596 </else-if>
597 <else-if type="article-journal" match="any"/>
598 <else>
599 <group prefix=". " delimiter=", ">
600 <choose>
601 <if type="thesis">
602 <text variable="genre" text-case="capitalize-first"/>
603 </if>
604 </choose>
605 <text macro="publisher"/>
606 </group>
607 </else>
608 </choose>
609 </macro>
610 <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">
611 <layout prefix="(" suffix=")" delimiter="; ">
612 <group delimiter=", ">
613 <choose>
614 <if variable="issued accessed" match="any">
615 <group delimiter=" ">
616 <text macro="contributors-short"/>
617 <text macro="date-in-text"/>
618 </group>
619 </if>
620 <!---comma before forthcoming and n.d.-->
621 <else>
622 <group delimiter=", ">
623 <text macro="contributors-short"/>
624 <text macro="date-in-text"/>
625 </group>
626 </else>
627 </choose>
628 <text macro="point-locators"/>
629 </group>
630 </layout>
631 </citation>
632 <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="&#8212;&#8212;&#8212;" entry-spacing="0">
633 <sort>
634 <key macro="contributors"/>
635 <key variable="issued"/>
636 <key variable="title"/>
637 </sort>
638 <layout suffix=".">
639 <group delimiter=". ">
640 <text macro="contributors"/>
641 <text macro="date"/>
642 <text macro="title"/>
643 </group>
644 <text macro="description"/>
645 <text macro="secondary-contributors" prefix=". "/>
646 <text macro="container-title" prefix=". "/>
647 <text macro="container-contributors"/>
648 <text macro="edition"/>
649 <text macro="locators-chapter"/>
650 <text macro="collection-title-journal" prefix=", " suffix=", "/>
651 <text macro="locators"/>
652 <text macro="collection-title" prefix=". "/>
653 <text macro="issue"/>
654 <text macro="locators-article"/>
655 <text macro="access" prefix=". "/>
656 </layout>
657 </bibliography>
658</style>
diff --git a/etc/org/csl/locales-en-US.xml b/etc/org/csl/locales-en-US.xml
new file mode 100644
index 00000000000..be78c5e81fd
--- /dev/null
+++ b/etc/org/csl/locales-en-US.xml
@@ -0,0 +1,357 @@
1<?xml version="1.0" encoding="utf-8"?>
2<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="en-US">
3 <info>
4 <translator>
5 <name>Andrew Dunning</name>
6 </translator>
7 <translator>
8 <name>Sebastian Karcher</name>
9 </translator>
10 <translator>
11 <name>Rintze M. Zelle</name>
12 </translator>
13 <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
14 <updated>2015-10-10T23:31:02+00:00</updated>
15 </info>
16 <style-options punctuation-in-quote="true"/>
17 <date form="text">
18 <date-part name="month" suffix=" "/>
19 <date-part name="day" suffix=", "/>
20 <date-part name="year"/>
21 </date>
22 <date form="numeric">
23 <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
24 <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
25 <date-part name="year"/>
26 </date>
27 <terms>
28 <term name="accessed">accessed</term>
29 <term name="and">and</term>
30 <term name="and others">and others</term>
31 <term name="anonymous">anonymous</term>
32 <term name="anonymous" form="short">anon.</term>
33 <term name="at">at</term>
34 <term name="available at">available at</term>
35 <term name="by">by</term>
36 <term name="circa">circa</term>
37 <term name="circa" form="short">c.</term>
38 <term name="cited">cited</term>
39 <term name="edition">
40 <single>edition</single>
41 <multiple>editions</multiple>
42 </term>
43 <term name="edition" form="short">ed.</term>
44 <term name="et-al">et al.</term>
45 <term name="forthcoming">forthcoming</term>
46 <term name="from">from</term>
47 <term name="ibid">ibid.</term>
48 <term name="in">in</term>
49 <term name="in press">in press</term>
50 <term name="internet">internet</term>
51 <term name="interview">interview</term>
52 <term name="letter">letter</term>
53 <term name="no date">no date</term>
54 <term name="no date" form="short">n.d.</term>
55 <term name="online">online</term>
56 <term name="presented at">presented at the</term>
57 <term name="reference">
58 <single>reference</single>
59 <multiple>references</multiple>
60 </term>
61 <term name="reference" form="short">
62 <single>ref.</single>
63 <multiple>refs.</multiple>
64 </term>
65 <term name="retrieved">retrieved</term>
66 <term name="scale">scale</term>
67 <term name="version">version</term>
68
69 <!-- ANNO DOMINI; BEFORE CHRIST -->
70 <term name="ad">AD</term>
71 <term name="bc">BC</term>
72
73 <!-- PUNCTUATION -->
74 <term name="open-quote">“</term>
75 <term name="close-quote">”</term>
76 <term name="open-inner-quote">‘</term>
77 <term name="close-inner-quote">’</term>
78 <term name="page-range-delimiter">–</term>
79
80 <!-- ORDINALS -->
81 <term name="ordinal">th</term>
82 <term name="ordinal-01">st</term>
83 <term name="ordinal-02">nd</term>
84 <term name="ordinal-03">rd</term>
85 <term name="ordinal-11">th</term>
86 <term name="ordinal-12">th</term>
87 <term name="ordinal-13">th</term>
88
89 <!-- LONG ORDINALS -->
90 <term name="long-ordinal-01">first</term>
91 <term name="long-ordinal-02">second</term>
92 <term name="long-ordinal-03">third</term>
93 <term name="long-ordinal-04">fourth</term>
94 <term name="long-ordinal-05">fifth</term>
95 <term name="long-ordinal-06">sixth</term>
96 <term name="long-ordinal-07">seventh</term>
97 <term name="long-ordinal-08">eighth</term>
98 <term name="long-ordinal-09">ninth</term>
99 <term name="long-ordinal-10">tenth</term>
100
101 <!-- LONG LOCATOR FORMS -->
102 <term name="book">
103 <single>book</single>
104 <multiple>books</multiple>
105 </term>
106 <term name="chapter">
107 <single>chapter</single>
108 <multiple>chapters</multiple>
109 </term>
110 <term name="column">
111 <single>column</single>
112 <multiple>columns</multiple>
113 </term>
114 <term name="figure">
115 <single>figure</single>
116 <multiple>figures</multiple>
117 </term>
118 <term name="folio">
119 <single>folio</single>
120 <multiple>folios</multiple>
121 </term>
122 <term name="issue">
123 <single>number</single>
124 <multiple>numbers</multiple>
125 </term>
126 <term name="line">
127 <single>line</single>
128 <multiple>lines</multiple>
129 </term>
130 <term name="note">
131 <single>note</single>
132 <multiple>notes</multiple>
133 </term>
134 <term name="opus">
135 <single>opus</single>
136 <multiple>opera</multiple>
137 </term>
138 <term name="page">
139 <single>page</single>
140 <multiple>pages</multiple>
141 </term>
142 <term name="number-of-pages">
143 <single>page</single>
144 <multiple>pages</multiple>
145 </term>
146 <term name="paragraph">
147 <single>paragraph</single>
148 <multiple>paragraphs</multiple>
149 </term>
150 <term name="part">
151 <single>part</single>
152 <multiple>parts</multiple>
153 </term>
154 <term name="section">
155 <single>section</single>
156 <multiple>sections</multiple>
157 </term>
158 <term name="sub verbo">
159 <single>sub verbo</single>
160 <multiple>sub verbis</multiple>
161 </term>
162 <term name="verse">
163 <single>verse</single>
164 <multiple>verses</multiple>
165 </term>
166 <term name="volume">
167 <single>volume</single>
168 <multiple>volumes</multiple>
169 </term>
170
171 <!-- SHORT LOCATOR FORMS -->
172 <term name="book" form="short">
173 <single>bk.</single>
174 <multiple>bks.</multiple>
175 </term>
176 <term name="chapter" form="short">
177 <single>chap.</single>
178 <multiple>chaps.</multiple>
179 </term>
180 <term name="column" form="short">
181 <single>col.</single>
182 <multiple>cols.</multiple>
183 </term>
184 <term name="figure" form="short">
185 <single>fig.</single>
186 <multiple>figs.</multiple>
187 </term>
188 <term name="folio" form="short">
189 <single>fol.</single>
190 <multiple>fols.</multiple>
191 </term>
192 <term name="issue" form="short">
193 <single>no.</single>
194 <multiple>nos.</multiple>
195 </term>
196 <term name="line" form="short">
197 <single>l.</single>
198 <multiple>ll.</multiple>
199 </term>
200 <term name="note" form="short">
201 <single>n.</single>
202 <multiple>nn.</multiple>
203 </term>
204 <term name="opus" form="short">
205 <single>op.</single>
206 <multiple>opp.</multiple>
207 </term>
208 <term name="page" form="short">
209 <single>p.</single>
210 <multiple>pp.</multiple>
211 </term>
212 <term name="number-of-pages" form="short">
213 <single>p.</single>
214 <multiple>pp.</multiple>
215 </term>
216 <term name="paragraph" form="short">
217 <single>para.</single>
218 <multiple>paras.</multiple>
219 </term>
220 <term name="part" form="short">
221 <single>pt.</single>
222 <multiple>pts.</multiple>
223 </term>
224 <term name="section" form="short">
225 <single>sec.</single>
226 <multiple>secs.</multiple>
227 </term>
228 <term name="sub verbo" form="short">
229 <single>s.v.</single>
230 <multiple>s.vv.</multiple>
231 </term>
232 <term name="verse" form="short">
233 <single>v.</single>
234 <multiple>vv.</multiple>
235 </term>
236 <term name="volume" form="short">
237 <single>vol.</single>
238 <multiple>vols.</multiple>
239 </term>
240
241 <!-- SYMBOL LOCATOR FORMS -->
242 <term name="paragraph" form="symbol">
243 <single>¶</single>
244 <multiple>¶¶</multiple>
245 </term>
246 <term name="section" form="symbol">
247 <single>§</single>
248 <multiple>§§</multiple>
249 </term>
250
251 <!-- LONG ROLE FORMS -->
252 <term name="director">
253 <single>director</single>
254 <multiple>directors</multiple>
255 </term>
256 <term name="editor">
257 <single>editor</single>
258 <multiple>editors</multiple>
259 </term>
260 <term name="editorial-director">
261 <single>editor</single>
262 <multiple>editors</multiple>
263 </term>
264 <term name="illustrator">
265 <single>illustrator</single>
266 <multiple>illustrators</multiple>
267 </term>
268 <term name="translator">
269 <single>translator</single>
270 <multiple>translators</multiple>
271 </term>
272 <term name="editortranslator">
273 <single>editor &amp; translator</single>
274 <multiple>editors &amp; translators</multiple>
275 </term>
276
277 <!-- SHORT ROLE FORMS -->
278 <term name="director" form="short">
279 <single>dir.</single>
280 <multiple>dirs.</multiple>
281 </term>
282 <term name="editor" form="short">
283 <single>ed.</single>
284 <multiple>eds.</multiple>
285 </term>
286 <term name="editorial-director" form="short">
287 <single>ed.</single>
288 <multiple>eds.</multiple>
289 </term>
290 <term name="illustrator" form="short">
291 <single>ill.</single>
292 <multiple>ills.</multiple>
293 </term>
294 <term name="translator" form="short">
295 <single>tran.</single>
296 <multiple>trans.</multiple>
297 </term>
298 <term name="editortranslator" form="short">
299 <single>ed. &amp; tran.</single>
300 <multiple>eds. &amp; trans.</multiple>
301 </term>
302
303 <!-- VERB ROLE FORMS -->
304 <term name="container-author" form="verb">by</term>
305 <term name="director" form="verb">directed by</term>
306 <term name="editor" form="verb">edited by</term>
307 <term name="editorial-director" form="verb">edited by</term>
308 <term name="illustrator" form="verb">illustrated by</term>
309 <term name="interviewer" form="verb">interview by</term>
310 <term name="recipient" form="verb">to</term>
311 <term name="reviewed-author" form="verb">by</term>
312 <term name="translator" form="verb">translated by</term>
313 <term name="editortranslator" form="verb">edited &amp; translated by</term>
314
315 <!-- SHORT VERB ROLE FORMS -->
316 <term name="director" form="verb-short">dir. by</term>
317 <term name="editor" form="verb-short">ed. by</term>
318 <term name="editorial-director" form="verb-short">ed. by</term>
319 <term name="illustrator" form="verb-short">illus. by</term>
320 <term name="translator" form="verb-short">trans. by</term>
321 <term name="editortranslator" form="verb-short">ed. &amp; trans. by</term>
322
323 <!-- LONG MONTH FORMS -->
324 <term name="month-01">January</term>
325 <term name="month-02">February</term>
326 <term name="month-03">March</term>
327 <term name="month-04">April</term>
328 <term name="month-05">May</term>
329 <term name="month-06">June</term>
330 <term name="month-07">July</term>
331 <term name="month-08">August</term>
332 <term name="month-09">September</term>
333 <term name="month-10">October</term>
334 <term name="month-11">November</term>
335 <term name="month-12">December</term>
336
337 <!-- SHORT MONTH FORMS -->
338 <term name="month-01" form="short">Jan.</term>
339 <term name="month-02" form="short">Feb.</term>
340 <term name="month-03" form="short">Mar.</term>
341 <term name="month-04" form="short">Apr.</term>
342 <term name="month-05" form="short">May</term>
343 <term name="month-06" form="short">Jun.</term>
344 <term name="month-07" form="short">Jul.</term>
345 <term name="month-08" form="short">Aug.</term>
346 <term name="month-09" form="short">Sep.</term>
347 <term name="month-10" form="short">Oct.</term>
348 <term name="month-11" form="short">Nov.</term>
349 <term name="month-12" form="short">Dec.</term>
350
351 <!-- SEASONS -->
352 <term name="season-01">Spring</term>
353 <term name="season-02">Summer</term>
354 <term name="season-03">Autumn</term>
355 <term name="season-04">Winter</term>
356 </terms>
357</locale>
diff --git a/lisp/org/ob-gnuplot.el b/lisp/org/ob-gnuplot.el
index 3c84e4da14f..8c4a5957b99 100644
--- a/lisp/org/ob-gnuplot.el
+++ b/lisp/org/ob-gnuplot.el
@@ -290,7 +290,7 @@ Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE."
290 (orgtbl-to-generic 290 (orgtbl-to-generic
291 table 291 table
292 (org-combine-plists 292 (org-combine-plists
293 '(:sep "\t" :fmt org-babel-gnuplot-quote-tsv-field) 293 '(:sep "\t" :fmt org-babel-gnuplot-quote-tsv-field :raw t :backend ascii)
294 params))))) 294 params)))))
295 data-file) 295 data-file)
296 296
diff --git a/lisp/org/ob-julia.el b/lisp/org/ob-julia.el
index 434b414b614..4fae0d142b2 100644
--- a/lisp/org/ob-julia.el
+++ b/lisp/org/ob-julia.el
@@ -90,18 +90,13 @@ This function is called by `org-babel-execute-src-block'."
90 (graphics-file (and (member "graphics" (assq :result-params params)) 90 (graphics-file (and (member "graphics" (assq :result-params params))
91 (org-babel-graphical-output-file params))) 91 (org-babel-graphical-output-file params)))
92 (colnames-p (unless graphics-file (cdr (assq :colnames params)))) 92 (colnames-p (unless graphics-file (cdr (assq :colnames params))))
93 ;; (rownames-p (unless graphics-file (cdr (assq :rownames params))))
94 (full-body (org-babel-expand-body:julia body params graphics-file)) 93 (full-body (org-babel-expand-body:julia body params graphics-file))
95 (result 94 (result
96 (org-babel-julia-evaluate 95 (org-babel-julia-evaluate
97 session full-body result-type result-params 96 session full-body result-type result-params
98 (or (equal "yes" colnames-p) 97 (or (equal "yes" colnames-p)
99 (org-babel-pick-name 98 (org-babel-pick-name
100 (cdr (assq :colname-names params)) colnames-p)) 99 (cdr (assq :colname-names params)) colnames-p)))))
101 ;; (or (equal "yes" rownames-p)
102 ;; (org-babel-pick-name
103 ;; (cdr (assq :rowname-names params)) rownames-p))
104 )))
105 (if graphics-file nil result)))) 100 (if graphics-file nil result))))
106 101
107(defun org-babel-normalize-newline (result) 102(defun org-babel-normalize-newline (result)
@@ -135,12 +130,7 @@ This function is called by `org-babel-execute-src-block'."
135 "Return list of julia statements assigning the block's variables." 130 "Return list of julia statements assigning the block's variables."
136 (let ((vars (org-babel--get-vars params))) 131 (let ((vars (org-babel--get-vars params)))
137 (mapcar 132 (mapcar
138 (lambda (pair) 133 (lambda (pair) (org-babel-julia-assign-elisp (car pair) (cdr pair)))
139 (org-babel-julia-assign-elisp
140 (car pair) (cdr pair)
141 ;; (equal "yes" (cdr (assq :colnames params)))
142 ;; (equal "yes" (cdr (assq :rownames params)))
143 ))
144 (mapcar 134 (mapcar
145 (lambda (i) 135 (lambda (i)
146 (cons (car (nth i vars)) 136 (cons (car (nth i vars))
@@ -156,7 +146,7 @@ This function is called by `org-babel-execute-src-block'."
156 (concat "\"" (mapconcat #'identity (split-string s "\"") "\"\"") "\"") 146 (concat "\"" (mapconcat #'identity (split-string s "\"") "\"\"") "\"")
157 (format "%S" s))) 147 (format "%S" s)))
158 148
159(defun org-babel-julia-assign-elisp (name value) ;; colnames-p rownames-p 149(defun org-babel-julia-assign-elisp (name value)
160 "Construct julia code assigning the elisp VALUE to a variable named NAME." 150 "Construct julia code assigning the elisp VALUE to a variable named NAME."
161 (if (listp value) 151 (if (listp value)
162 (let* ((lengths (mapcar #'length (cl-remove-if-not #'sequencep value))) 152 (let* ((lengths (mapcar #'length (cl-remove-if-not #'sequencep value)))
@@ -164,11 +154,7 @@ This function is called by `org-babel-execute-src-block'."
164 (min (if lengths (apply #'min lengths) 0))) 154 (min (if lengths (apply #'min lengths) 0)))
165 ;; Ensure VALUE has an orgtbl structure (depth of at least 2). 155 ;; Ensure VALUE has an orgtbl structure (depth of at least 2).
166 (unless (listp (car value)) (setq value (list value))) 156 (unless (listp (car value)) (setq value (list value)))
167 (let ((file (orgtbl-to-csv value '(:fmt org-babel-julia-quote-csv-field))) 157 (let ((file (orgtbl-to-csv value '(:fmt org-babel-julia-quote-csv-field))))
168 ;; (header (if (or (eq (nth 1 value) 'hline) colnames-p)
169 ;; "TRUE" "FALSE"))
170 ;; (row-names (if rownames-p "1" "NULL"))
171 )
172 (if (= max min) 158 (if (= max min)
173 (format "%s = begin 159 (format "%s = begin
174 using CSV 160 using CSV
@@ -188,7 +174,7 @@ end"
188 (let ((session (or session "*Julia*")) 174 (let ((session (or session "*Julia*"))
189 (ess-ask-for-ess-directory 175 (ess-ask-for-ess-directory
190 (and (bound-and-true-p ess-ask-for-ess-directory) 176 (and (bound-and-true-p ess-ask-for-ess-directory)
191 (not (cdr (assq :dir params)))))) 177 (not (cdr (assq :dir params))))))
192 (if (org-babel-comint-buffer-livep session) 178 (if (org-babel-comint-buffer-livep session)
193 session 179 session
194 ;; FIXME: Depending on `display-buffer-alist', (julia) may end up 180 ;; FIXME: Depending on `display-buffer-alist', (julia) may end up
@@ -209,14 +195,6 @@ end"
209 (buffer-name)))) 195 (buffer-name))))
210 (current-buffer)))))) 196 (current-buffer))))))
211 197
212 ; (defun org-babel-julia-associate-session (session)
213 ; "Associate julia code buffer with a julia session.
214 ; Make SESSION be the inferior ESS process associated with the
215 ; current code buffer."
216 ; (setq ess-local-process-name
217 ; (process-name (get-buffer-process session)))
218 ; (ess-make-buffer-current))
219
220(defun org-babel-julia-graphical-output-file (params) 198(defun org-babel-julia-graphical-output-file (params)
221 "Name of file to which julia should send graphical output." 199 "Name of file to which julia should send graphical output."
222 (and (member "graphics" (cdr (assq :result-params params))) 200 (and (member "graphics" (cdr (assq :result-params params)))
@@ -259,16 +237,16 @@ end"
259end") 237end")
260 238
261(defun org-babel-julia-evaluate 239(defun org-babel-julia-evaluate
262 (session body result-type result-params column-names-p) ;; row-names-p 240 (session body result-type result-params column-names-p)
263 "Evaluate julia code in BODY." 241 "Evaluate julia code in BODY."
264 (if session 242 (if session
265 (org-babel-julia-evaluate-session 243 (org-babel-julia-evaluate-session
266 session body result-type result-params column-names-p) ;; row-names-p 244 session body result-type result-params column-names-p)
267 (org-babel-julia-evaluate-external-process 245 (org-babel-julia-evaluate-external-process
268 body result-type result-params column-names-p))) ;; row-names-p 246 body result-type result-params column-names-p)))
269 247
270(defun org-babel-julia-evaluate-external-process 248(defun org-babel-julia-evaluate-external-process
271 (body result-type result-params column-names-p) ;; row-names-p 249 (body result-type result-params column-names-p)
272 "Evaluate BODY in external julia process. 250 "Evaluate BODY in external julia process.
273If RESULT-TYPE equals 'output then return standard output as a 251If RESULT-TYPE equals 'output then return standard output as a
274string. If RESULT-TYPE equals 'value then return the value of the 252string. If RESULT-TYPE equals 'value then return the value of the
@@ -292,7 +270,7 @@ last statement in BODY, as elisp."
292 (output (org-babel-eval org-babel-julia-command body)))) 270 (output (org-babel-eval org-babel-julia-command body))))
293 271
294(defun org-babel-julia-evaluate-session 272(defun org-babel-julia-evaluate-session
295 (session body result-type result-params column-names-p) ;; row-names-p 273 (session body result-type result-params column-names-p)
296 "Evaluate BODY in SESSION. 274 "Evaluate BODY in SESSION.
297If RESULT-TYPE equals 'output then return standard output as a 275If RESULT-TYPE equals 'output then return standard output as a
298string. If RESULT-TYPE equals 'value then return the value of the 276string. If RESULT-TYPE equals 'value then return the value of the
diff --git a/lisp/org/oc-csl.el b/lisp/org/oc-csl.el
index b847fbbc4f6..3d138807592 100644
--- a/lisp/org/oc-csl.el
+++ b/lisp/org/oc-csl.el
@@ -186,15 +186,21 @@ Used only when `second-field-align' is activated by the used CSL style."
186 186
187;;; Internal variables 187;;; Internal variables
188(defconst org-cite-csl--etc-dir 188(defconst org-cite-csl--etc-dir
189 (let* ((oc-root (file-name-directory (locate-library "oc"))) 189 (let ((oc-root (file-name-directory (locate-library "oc"))))
190 (oc-etc-dir-1 (expand-file-name "../etc/csl/" oc-root))) 190 (cond
191 ;; package.el and straight will put all of org-mode/lisp/ in org-mode/. 191 ;; First check whether it looks like we're running from the main
192 ;; This will cause .. to resolve to the directory above Org. 192 ;; Org repository.
193 ;; To make life easier for people using package.el or straight, we can 193 ((let ((csl-org (expand-file-name "../etc/csl/" oc-root)))
194 ;; check to see if ../etc/csl exists, and if it doesn't try ./etc/csl. 194 (and (file-directory-p csl-org) csl-org)))
195 (if (file-exists-p oc-etc-dir-1) oc-etc-dir-1 195 ;; Next look for the directory alongside oc.el because package.el
196 (expand-file-name "etc/csl/" oc-root))) 196 ;; and straight will put all of org-mode/lisp/ in org-mode/.
197 "Directory \"etc/\" from repository.") 197 ((let ((csl-pkg (expand-file-name "etc/csl/" oc-root)))
198 (and (file-directory-p csl-pkg) csl-pkg)))
199 ;; Finally fall back the location used by shared system installs
200 ;; and when running directly from Emacs repository.
201 (t
202 (expand-file-name "org/csl/" data-directory))))
203 "Directory containing CSL-related data files.")
198 204
199(defconst org-cite-csl--fallback-locales-dir org-cite-csl--etc-dir 205(defconst org-cite-csl--fallback-locales-dir org-cite-csl--etc-dir
200 "Fallback CSL locale files directory.") 206 "Fallback CSL locale files directory.")
diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el
index a8fb79ea3cd..0779c3a82c8 100644
--- a/lisp/org/org-macs.el
+++ b/lisp/org/org-macs.el
@@ -326,17 +326,19 @@ it for output."
326 326
327;;; Indentation 327;;; Indentation
328 328
329(defun org-do-remove-indentation (&optional n) 329(defun org-do-remove-indentation (&optional n skip-fl)
330 "Remove the maximum common indentation from the buffer. 330 "Remove the maximum common indentation from the buffer.
331When optional argument N is a positive integer, remove exactly 331When optional argument N is a positive integer, remove exactly
332that much characters from indentation, if possible. Return nil 332that much characters from indentation, if possible. When
333if it fails." 333optional argument SKIP-FL is non-nil, skip the first
334line. Return nil if it fails."
334 (catch :exit 335 (catch :exit
335 (goto-char (point-min)) 336 (goto-char (point-min))
336 ;; Find maximum common indentation, if not specified. 337 ;; Find maximum common indentation, if not specified.
337 (let ((n (or n 338 (let ((n (or n
338 (let ((min-ind (point-max))) 339 (let ((min-ind (point-max)))
339 (save-excursion 340 (save-excursion
341 (when skip-fl (forward-line))
340 (while (re-search-forward "^[ \t]*\\S-" nil t) 342 (while (re-search-forward "^[ \t]*\\S-" nil t)
341 (let ((ind (current-indentation))) 343 (let ((ind (current-indentation)))
342 (if (zerop ind) (throw :exit nil) 344 (if (zerop ind) (throw :exit nil)
@@ -344,6 +346,7 @@ if it fails."
344 min-ind)))) 346 min-ind))))
345 (if (zerop n) (throw :exit nil) 347 (if (zerop n) (throw :exit nil)
346 ;; Remove exactly N indentation, but give up if not possible. 348 ;; Remove exactly N indentation, but give up if not possible.
349 (when skip-fl (forward-line))
347 (while (not (eobp)) 350 (while (not (eobp))
348 (let ((ind (progn (skip-chars-forward " \t") (current-column)))) 351 (let ((ind (progn (skip-chars-forward " \t") (current-column))))
349 (cond ((eolp) (delete-region (line-beginning-position) (point))) 352 (cond ((eolp) (delete-region (line-beginning-position) (point)))
diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el
index 91a3d415dfa..8d02cf43450 100644
--- a/lisp/org/org-src.el
+++ b/lisp/org/org-src.el
@@ -38,6 +38,7 @@
38(require 'org-keys) 38(require 'org-keys)
39 39
40(declare-function org-mode "org" ()) 40(declare-function org-mode "org" ())
41(declare-function org--get-expected-indentation "org" (element contentsp))
41(declare-function org-element-at-point "org-element" ()) 42(declare-function org-element-at-point "org-element" ())
42(declare-function org-element-class "org-element" (datum &optional parent)) 43(declare-function org-element-class "org-element" (datum &optional parent))
43(declare-function org-element-context "org-element" (&optional element)) 44(declare-function org-element-context "org-element" (&optional element))
@@ -327,7 +328,8 @@ a cons cell (LINE . COLUMN) or symbol `end'. See also
327 (if (>= pos end) 'end 328 (if (>= pos end) 'end
328 (org-with-wide-buffer 329 (org-with-wide-buffer
329 (goto-char (max beg pos)) 330 (goto-char (max beg pos))
330 (cons (count-lines beg (line-beginning-position)) 331 (cons (count-lines (save-excursion (goto-char beg) (line-beginning-position))
332 (line-beginning-position))
331 ;; Column is relative to the end of line to avoid problems of 333 ;; Column is relative to the end of line to avoid problems of
332 ;; comma escaping or colons appended in front of the line. 334 ;; comma escaping or colons appended in front of the line.
333 (- (point) (min end (line-end-position))))))) 335 (- (point) (min end (line-end-position)))))))
@@ -445,6 +447,7 @@ Assume point is in the corresponding edit buffer."
445 org-src--content-indentation 447 org-src--content-indentation
446 0)))) 448 0))))
447 (use-tabs? (and (> org-src--tab-width 0) t)) 449 (use-tabs? (and (> org-src--tab-width 0) t))
450 (preserve-fl (eq org-src--source-type 'latex-fragment))
448 (source-tab-width org-src--tab-width) 451 (source-tab-width org-src--tab-width)
449 (contents (org-with-wide-buffer 452 (contents (org-with-wide-buffer
450 (let ((eol (line-end-position))) 453 (let ((eol (line-end-position)))
@@ -466,7 +469,8 @@ Assume point is in the corresponding edit buffer."
466 ;; Add INDENTATION-OFFSET to every line in buffer, 469 ;; Add INDENTATION-OFFSET to every line in buffer,
467 ;; unless indentation is meant to be preserved. 470 ;; unless indentation is meant to be preserved.
468 (when (> indentation-offset 0) 471 (when (> indentation-offset 0)
469 (while (not (eobp)) 472 (when preserve-fl (forward-line))
473 (while (not (eobp))
470 (skip-chars-forward " \t") 474 (skip-chars-forward " \t")
471 (when (or (not (eolp)) ; not a blank line 475 (when (or (not (eolp)) ; not a blank line
472 (and (eq (point) (marker-position marker)) ; current line 476 (and (eq (point) (marker-position marker)) ; current line
@@ -518,7 +522,13 @@ Leave point in edit buffer."
518 (source-tab-width (if indent-tabs-mode tab-width 0)) 522 (source-tab-width (if indent-tabs-mode tab-width 0))
519 (type (org-element-type datum)) 523 (type (org-element-type datum))
520 (block-ind (org-with-point-at (org-element-property :begin datum) 524 (block-ind (org-with-point-at (org-element-property :begin datum)
521 (current-indentation))) 525 (cond
526 ((save-excursion (skip-chars-backward " \t") (bolp))
527 (current-indentation))
528 ((org-element-property :parent datum)
529 (org--get-expected-indentation
530 (org-element-property :parent datum) nil))
531 (t (current-indentation)))))
522 (content-ind org-edit-src-content-indentation) 532 (content-ind org-edit-src-content-indentation)
523 (blank-line (save-excursion (beginning-of-line) 533 (blank-line (save-excursion (beginning-of-line)
524 (looking-at-p "^[[:space:]]*$"))) 534 (looking-at-p "^[[:space:]]*$")))
@@ -548,7 +558,8 @@ Leave point in edit buffer."
548 (insert contents) 558 (insert contents)
549 (remove-text-properties (point-min) (point-max) 559 (remove-text-properties (point-min) (point-max)
550 '(display nil invisible nil intangible nil)) 560 '(display nil invisible nil intangible nil))
551 (unless preserve-ind (org-do-remove-indentation)) 561 (let ((lf (eq type 'latex-fragment)))
562 (unless preserve-ind (org-do-remove-indentation (and lf block-ind) lf)))
552 (set-buffer-modified-p nil) 563 (set-buffer-modified-p nil)
553 (setq buffer-file-name nil) 564 (setq buffer-file-name nil)
554 ;; Initialize buffer. 565 ;; Initialize buffer.
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index ef363dc3901..5bccbe497cc 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -11,7 +11,7 @@ Inserted by installing Org mode or when a release is made."
11(defun org-git-version () 11(defun org-git-version ()
12 "The Git version of Org mode. 12 "The Git version of Org mode.
13Inserted by installing Org or when a release is made." 13Inserted by installing Org or when a release is made."
14 (let ((org-git-version "release_9.5")) 14 (let ((org-git-version "release_9.5-30-g10dc9d"))
15 org-git-version)) 15 org-git-version))
16 16
17(provide 'org-version) 17(provide 'org-version)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 723de649429..bc0ea24bee7 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -5113,6 +5113,7 @@ stacked delimiters is N. Escaping delimiters is not possible."
5113 '(invisible t)) 5113 '(invisible t))
5114 (add-text-properties (match-beginning 3) (match-end 3) 5114 (add-text-properties (match-beginning 3) (match-end 3)
5115 '(invisible t))) 5115 '(invisible t)))
5116 (goto-char (match-end 0))
5116 (throw :exit t)))))))) 5117 (throw :exit t))))))))
5117 5118
5118(defun org-emphasize (&optional char) 5119(defun org-emphasize (&optional char)