Merge from origin/emacs-29
f37f01b504
Fix a typo in Introduction to Emacs Lisp (bug#70571).d8687fd6cd
Fix last change494dfd9cf2
Fix indentation of if/else in 'csharp-ts-mode' (bug#70345)1cc6322e61
; * etc/PROBLEMS: Document crashes due to tree-sitter ABI...42766f95e5
* build-aux/make-info-dir: Avoid bashism (bug#70484).81476fa19e
Improve documentation of selection and navigation in *xre...2a53351492
Fix Widget manual typos, markup and omissions (bug#70502)90be3015b4
; Document bookmark fringe mark in the user manualafd0b548fc
Fix python-ts-mode built-in functions and attributes (bug...dc720decc3
Fix markup and indexing in the Calendar chapter of user m...f593bf79a9
Fix the user manual for `calendar-time-zone-style'aed2b7a3d8
Avoid assertion violations in 'push_prefix_prop'c929532b46
Remove ert-equal-including-properties from manuale3aae5fd38
; Document 'filtered-frame-list'
This commit is contained in:
commit
687c4137fa
15 changed files with 346 additions and 155 deletions
|
@ -33,7 +33,8 @@
|
|||
|
||||
## Header contains non-printing characters, so this is more
|
||||
## reliable than using awk.
|
||||
cat <"${1?}" || exit
|
||||
test $# -ge 2 || exit 1
|
||||
cat <"$1"
|
||||
shift
|
||||
|
||||
exec "${AWK-awk}" '
|
||||
|
@ -101,4 +102,4 @@ exec "${AWK-awk}" '
|
|||
if (data[dircat])
|
||||
printf "\n%s\n%s", topic[dircat], data[dircat]
|
||||
}
|
||||
' "${@?}"
|
||||
' "$@"
|
||||
|
|
|
@ -104,8 +104,11 @@ Move point one year backward (@code{calendar-backward-year}).
|
|||
The day and week commands are natural analogues of the usual Emacs
|
||||
commands for moving by characters and by lines. Just as @kbd{C-n}
|
||||
usually moves to the same column in the following line, in Calendar
|
||||
mode it moves to the same day in the following week. And @kbd{C-p}
|
||||
moves to the same day in the previous week.
|
||||
mode it is bound to @code{calendar-forward-week}, which moves to the
|
||||
same day in the following week. And @kbd{C-p}
|
||||
(@code{calendar-backward-week} moves to the same day in the previous
|
||||
week. @kbd{C-f} (@code{calendar-forward-day}) and @kbd{C-b}
|
||||
(@code{calendar-backward-day}) move forward and back by days.
|
||||
|
||||
The arrow keys are equivalent to @kbd{C-f}, @kbd{C-b}, @kbd{C-n} and
|
||||
@kbd{C-p}, just as they normally are in other modes.
|
||||
|
@ -119,10 +122,12 @@ moves to the same day in the previous week.
|
|||
@kindex C-x [ @r{(Calendar mode)}
|
||||
@findex calendar-backward-year
|
||||
The commands for motion by months and years work like those for
|
||||
weeks, but move a larger distance. The month commands @kbd{M-@}} and
|
||||
@kbd{M-@{} move forward or backward by an entire month. The year
|
||||
commands @kbd{C-x ]} and @w{@kbd{C-x [}} move forward or backward a
|
||||
whole year.
|
||||
weeks, but move a larger distance. The month commands @kbd{M-@}}
|
||||
(@code{calendar-forward-month}) and @kbd{M-@{}
|
||||
(@code{calendar-backward-month}) move forward or backward by an entire
|
||||
month. The year commands @w{@kbd{C-x ]}}
|
||||
(@code{calendar-forward-year}) and @w{@kbd{C-x [}}
|
||||
(@code{calendar-backward-year}) move forward or backward a whole year.
|
||||
|
||||
The easiest way to remember these commands is to consider months and
|
||||
years analogous to paragraphs and pages of text, respectively. But
|
||||
|
@ -261,8 +266,9 @@ Scroll backward by three months (@code{calendar-scroll-right-three-months}).
|
|||
@findex calendar-scroll-right
|
||||
The most basic calendar scroll commands scroll by one month at a
|
||||
time. This means that there are two months of overlap between the
|
||||
display before the command and the display after. @kbd{>} scrolls the
|
||||
calendar contents one month forward in time. @kbd{<} scrolls the
|
||||
display before the command and the display after. @kbd{>}
|
||||
(@code{calendar-scroll-left}) scrolls the calendar contents one month
|
||||
forward in time. @kbd{<} (@code{calendar-scroll-right}) scrolls the
|
||||
contents one month backwards in time.
|
||||
|
||||
@kindex C-v @r{(Calendar mode)}
|
||||
|
@ -273,13 +279,15 @@ contents one month backwards in time.
|
|||
@kindex PageUp @r{(Calendar mode)}
|
||||
@kindex prior @r{(Calendar mode)}
|
||||
@findex calendar-scroll-right-three-months
|
||||
The commands @kbd{C-v} and @kbd{M-v} scroll the calendar by an entire
|
||||
screenful---three months---in analogy with the usual meaning of
|
||||
these commands. @kbd{C-v} makes later dates visible and @kbd{M-v} makes
|
||||
earlier dates visible. These commands take a numeric argument as a
|
||||
repeat count; in particular, since @kbd{C-u} multiplies the next command
|
||||
by four, typing @kbd{C-u C-v} scrolls the calendar forward by a year and
|
||||
typing @kbd{C-u M-v} scrolls the calendar backward by a year.
|
||||
The commands @kbd{C-v} (@code{calendar-scroll-left-three-months})
|
||||
and @kbd{M-v} (@code{calendar-scroll-right-three-months}) scroll the
|
||||
calendar by an entire screenful---three months---in analogy with the
|
||||
usual meaning of these commands. @kbd{C-v} makes later dates visible
|
||||
and @kbd{M-v} makes earlier dates visible. These commands take a
|
||||
numeric argument as a repeat count; in particular, since @kbd{C-u}
|
||||
multiplies the next command by four, typing @kbd{C-u C-v} scrolls the
|
||||
calendar forward by a year and typing @kbd{C-u M-v} scrolls the
|
||||
calendar backward by a year.
|
||||
|
||||
The function keys @key{PageDown} (or @key{next}) and @key{PageUp}
|
||||
(or @key{prior}) are equivalent to @kbd{C-v} and @kbd{M-v}, just as
|
||||
|
@ -358,6 +366,8 @@ calendar deletes or iconifies that frame depending on the value of
|
|||
You can write calendars and diary entries to HTML and @LaTeX{} files.
|
||||
|
||||
@cindex calendar and HTML
|
||||
@vindex cal-html-directory
|
||||
@vindex cal-html-holidays
|
||||
The Calendar HTML commands produce files of HTML code that contain
|
||||
calendar, holiday, and diary entries. Each file applies to one month,
|
||||
and has a name of the format @file{@var{yyyy}-@var{mm}.html}, where
|
||||
|
@ -382,10 +392,13 @@ Generate a one-month calendar (@code{cal-html-cursor-month}).
|
|||
@item H y
|
||||
Generate a calendar file for each month of a year, as well as an index
|
||||
page (@code{cal-html-cursor-year}). By default, this command writes
|
||||
files to a @var{yyyy} subdirectory---if this is altered some hyperlinks
|
||||
between years will not work.
|
||||
files to a @var{year} subdirectory, where @var{year} is the year at
|
||||
cursor---if this is altered, some hyperlinks between years will not
|
||||
work.
|
||||
@end table
|
||||
|
||||
@vindex cal-html-print-day-number-flag
|
||||
@vindex cal-html-year-index-cols
|
||||
If the variable @code{cal-html-print-day-number-flag} is
|
||||
non-@code{nil}, then the monthly calendars show the day-of-the-year
|
||||
number. The variable @code{cal-html-year-index-cols} specifies the
|
||||
|
@ -444,6 +457,9 @@ paper size (3.75in x 6.75in). All of these commands accept a prefix
|
|||
argument, which specifies how many days, weeks, months or years to print
|
||||
(starting always with the selected one).
|
||||
|
||||
@vindex cal-tex-holidays
|
||||
@vindex cal-tex-diary
|
||||
@vindex cal-tex-rules
|
||||
If the variable @code{cal-tex-holidays} is non-@code{nil} (the default),
|
||||
then the printed calendars show the holidays in @code{calendar-holidays}.
|
||||
If the variable @code{cal-tex-diary} is non-@code{nil} (the default is
|
||||
|
@ -454,6 +470,7 @@ pages in styles that have sufficient room. Consult the documentation of
|
|||
the individual cal-tex functions to see which calendars support which
|
||||
features.
|
||||
|
||||
@vindex cal-tex-preamble-extra
|
||||
You can use the variable @code{cal-tex-preamble-extra} to insert extra
|
||||
@LaTeX{} commands in the preamble of the generated document if you need
|
||||
to.
|
||||
|
@ -486,12 +503,12 @@ List holidays in another window for a specified range of years.
|
|||
|
||||
@kindex h @r{(Calendar mode)}
|
||||
@findex calendar-cursor-holidays
|
||||
@vindex calendar-view-holidays-initially-flag
|
||||
To see if any holidays fall on a given date, position point on that
|
||||
date in the calendar window and use the @kbd{h} command. Alternatively,
|
||||
click on that date with @kbd{mouse-3} and then choose @kbd{Holidays}
|
||||
from the menu that appears. Either way, this displays the holidays for
|
||||
that date, in the echo area if they fit there, otherwise in a separate
|
||||
date in the calendar window and use the @kbd{h}
|
||||
(@code{calendar-cursor-holidays}) command. Alternatively, click on
|
||||
that date with @kbd{mouse-3} and then choose @kbd{Holidays} from the
|
||||
menu that appears. Either way, this displays the holidays for that
|
||||
date, in the echo area if they fit there, otherwise in a separate
|
||||
window.
|
||||
|
||||
@kindex x @r{(Calendar mode)}
|
||||
|
@ -500,8 +517,8 @@ window.
|
|||
@findex calendar-unmark
|
||||
@vindex calendar-mark-holidays-flag
|
||||
To view the distribution of holidays for all the dates shown in the
|
||||
calendar, use the @kbd{x} command. This displays the dates that are
|
||||
holidays in a different face.
|
||||
calendar, use the @kbd{x} (@code{calendar-mark-holidays}) command.
|
||||
This displays the dates that are holidays in a different face.
|
||||
@iftex
|
||||
@xref{Calendar Customizing,,, emacs-xtra, Specialized Emacs Features}.
|
||||
@end iftex
|
||||
|
@ -510,19 +527,22 @@ holidays in a different face.
|
|||
@end ifnottex
|
||||
The command applies both to the currently visible months and to
|
||||
other months that subsequently become visible by scrolling. To turn
|
||||
marking off and erase the current marks, type @kbd{u}, which also
|
||||
erases any diary marks (@pxref{Diary}). If the variable
|
||||
@code{calendar-mark-holidays-flag} is non-@code{nil}, creating or
|
||||
updating the calendar marks holidays automatically.
|
||||
marking off and erase the current marks, type @kbd{u}
|
||||
(@code{calendar-unmark}), which also erases any diary marks
|
||||
(@pxref{Diary}). If the variable @code{calendar-mark-holidays-flag}
|
||||
is non-@code{nil}, creating or updating the calendar marks holidays
|
||||
automatically.
|
||||
|
||||
@kindex a @r{(Calendar mode)}
|
||||
@findex calendar-list-holidays
|
||||
To get even more detailed information, use the @kbd{a} command, which
|
||||
displays a separate buffer containing a list of all holidays in the
|
||||
current three-month range. You can use @key{SPC} and @key{DEL} in the
|
||||
calendar window to scroll that list up and down, respectively.
|
||||
To get even more detailed information, use the @kbd{a}
|
||||
(@code{calendar-list-holidays}) command, which displays a separate
|
||||
buffer containing a list of all holidays in the current three-month
|
||||
range. You can use @key{SPC} and @key{DEL} in the calendar window to
|
||||
scroll that list up and down, respectively.
|
||||
|
||||
@findex holidays
|
||||
@vindex calendar-view-holidays-initially-flag
|
||||
The command @kbd{M-x holidays} displays the list of holidays for the
|
||||
current month and the preceding and succeeding months; this works even
|
||||
if you don't have a calendar window. If the variable
|
||||
|
@ -536,6 +556,7 @@ major Bahá'í, Chinese, Christian, Islamic, and Jewish
|
|||
holidays; also the solstices and equinoxes.
|
||||
|
||||
@findex list-holidays
|
||||
@findex holiday-list
|
||||
The command @kbd{M-x holiday-list} displays the list of holidays for
|
||||
a range of years. This function asks you for the starting and stopping
|
||||
years, and allows you to choose all the holidays or one of several
|
||||
|
@ -569,14 +590,14 @@ Display times of sunrise and sunset for the selected month.
|
|||
@kindex S @r{(Calendar mode)}
|
||||
@findex calendar-sunrise-sunset
|
||||
@findex sunrise-sunset
|
||||
Within the calendar, to display the @emph{local times} of sunrise and
|
||||
sunset in the echo area, move point to the date you want, and type
|
||||
@kbd{S}. Alternatively, click @kbd{mouse-3} on the date, then choose
|
||||
@samp{Sunrise/sunset} from the menu that appears. The command @kbd{M-x
|
||||
sunrise-sunset} is available outside the calendar to display this
|
||||
information for today's date or a specified date. To specify a date
|
||||
other than today, use @kbd{C-u M-x sunrise-sunset}, which prompts for
|
||||
the year, month, and day.
|
||||
Within the calendar, to display the @emph{local times} of sunrise
|
||||
and sunset in the echo area, move point to the date you want, and type
|
||||
@kbd{S} (@code{calendar-sunrise-sunset}). Alternatively, click
|
||||
@kbd{mouse-3} on the date, then choose @samp{Sunrise/sunset} from the
|
||||
menu that appears. The command @kbd{M-x sunrise-sunset} is available
|
||||
outside the calendar to display this information for today's date or a
|
||||
specified date. To specify a date other than today, use @kbd{C-u M-x
|
||||
sunrise-sunset}, which prompts for the year, month, and day.
|
||||
|
||||
You can display the times of sunrise and sunset for any location and
|
||||
any date with @kbd{C-u C-u M-x sunrise-sunset}. This asks you for a
|
||||
|
@ -584,13 +605,13 @@ longitude, latitude, number of minutes difference from Coordinated
|
|||
Universal Time, and date, and then tells you the times of sunrise and
|
||||
sunset for that location on that date.
|
||||
|
||||
@vindex calendar-location-name
|
||||
@vindex calendar-longitude
|
||||
@vindex calendar-latitude
|
||||
Because the times of sunrise and sunset depend on the location on
|
||||
earth, you need to tell Emacs your latitude, longitude, and location
|
||||
name before using these commands. Here is an example of what to set:
|
||||
|
||||
@vindex calendar-location-name
|
||||
@vindex calendar-longitude
|
||||
@vindex calendar-latitude
|
||||
@example
|
||||
(setq calendar-latitude 40.1)
|
||||
(setq calendar-longitude -88.2)
|
||||
|
@ -601,14 +622,14 @@ name before using these commands. Here is an example of what to set:
|
|||
Use one decimal place in the values of @code{calendar-latitude} and
|
||||
@code{calendar-longitude}.
|
||||
|
||||
@vindex calendar-time-zone
|
||||
@vindex calendar-standard-time-zone-name
|
||||
@vindex calendar-daylight-time-zone-name
|
||||
Your time zone also affects the local time of sunrise and sunset.
|
||||
Emacs usually gets time zone information from the operating system, but
|
||||
if these values are not what you want (or if the operating system does
|
||||
not supply them), you must set them yourself. Here is an example:
|
||||
|
||||
@vindex calendar-time-zone
|
||||
@vindex calendar-standard-time-zone-name
|
||||
@vindex calendar-daylight-time-zone-name
|
||||
@example
|
||||
(setq calendar-time-zone -360)
|
||||
(setq calendar-standard-time-zone-name "CST")
|
||||
|
@ -616,9 +637,9 @@ not supply them), you must set them yourself. Here is an example:
|
|||
@end example
|
||||
|
||||
@noindent
|
||||
The value of @code{calendar-time-zone} is the number of minutes
|
||||
The value of @code{calendar-time-zone} is the number of minutes of
|
||||
difference between your local standard time and Coordinated Universal
|
||||
Time (Greenwich time). The values of
|
||||
Time (a.k.a.@: ``Greenwich time''). The values of
|
||||
@code{calendar-standard-time-zone-name} and
|
||||
@code{calendar-daylight-time-zone-name} are the abbreviations used in
|
||||
your time zone. Emacs displays the times of sunrise and sunset
|
||||
|
@ -627,7 +648,8 @@ for how daylight saving time is determined.
|
|||
|
||||
@vindex calendar-time-zone-style
|
||||
If you want to display numerical time zones (like @samp{"+0100"})
|
||||
instead of symbolic ones (like @samp{"CET"}), set this to @code{numeric}.
|
||||
instead of symbolic ones (like @samp{"CET"}), set the variable
|
||||
@code{calendar-time-zone-style} to @code{numeric}.
|
||||
|
||||
As a user, you might find it convenient to set the calendar location
|
||||
variables for your usual physical location in your @file{.emacs} file.
|
||||
|
@ -639,10 +661,10 @@ for all users in a @file{default.el} file. @xref{Init File}.
|
|||
@cindex phases of the moon
|
||||
@cindex moon, phases of
|
||||
|
||||
These calendar commands display the dates and times of the phases of
|
||||
the moon (new moon, first quarter, full moon, last quarter). This
|
||||
feature is useful for debugging problems that depend on the phase of
|
||||
the moon.
|
||||
The calendar commands described in this section display the dates
|
||||
and times of the phases of the moon (new moon, first quarter, full
|
||||
moon, last quarter). This feature is useful for debugging problems
|
||||
that depend on the phase of the moon.
|
||||
|
||||
@table @kbd
|
||||
@item M
|
||||
|
@ -655,9 +677,10 @@ today's date.
|
|||
|
||||
@kindex M @r{(Calendar mode)}
|
||||
@findex calendar-lunar-phases
|
||||
Within the calendar, use the @kbd{M} command to display a separate
|
||||
buffer of the phases of the moon for the current three-month range. The
|
||||
dates and times listed are accurate to within a few minutes.
|
||||
Within the calendar, use the @kbd{M} (@code{calendar-lunar-phases})
|
||||
command to display a separate buffer of the phases of the moon for the
|
||||
current three-month range. The dates and times listed are accurate to
|
||||
within a few minutes.
|
||||
|
||||
@findex lunar-phases
|
||||
Outside the calendar, use the command @kbd{M-x lunar-phases} to
|
||||
|
@ -668,21 +691,22 @@ year.
|
|||
|
||||
The dates and times given for the phases of the moon are given in
|
||||
local time (corrected for daylight saving, when appropriate).
|
||||
See the discussion in the previous section. @xref{Sunrise/Sunset}.
|
||||
See the discussion in the previous section (@pxref{Sunrise/Sunset}).
|
||||
|
||||
@node Other Calendars
|
||||
@section Conversion To and From Other Calendars
|
||||
|
||||
@cindex Gregorian calendar
|
||||
The Emacs calendar displayed is @emph{always} the Gregorian calendar,
|
||||
sometimes called the New Style calendar, which is used in most of
|
||||
the world today. However, this calendar did not exist before the
|
||||
sixteenth century and was not widely used before the eighteenth century;
|
||||
it did not fully displace the Julian calendar and gain universal
|
||||
acceptance until the early twentieth century. The Emacs calendar can
|
||||
display any month since January, year 1 of the current era, but the
|
||||
calendar displayed is always the Gregorian, even for a date at which
|
||||
the Gregorian calendar did not exist.
|
||||
@cindex New Style calendar
|
||||
The Emacs calendar displayed is @emph{always} the @dfn{Gregorian
|
||||
calendar}, sometimes called the @dfn{New Style calendar}, which is
|
||||
used in most of the world today. However, this calendar did not exist
|
||||
before the sixteenth century and was not widely used before the
|
||||
eighteenth century; it did not fully displace the Julian calendar and
|
||||
gain universal acceptance until the early twentieth century. The
|
||||
Emacs calendar can display any month since January, year 1 of the
|
||||
current era, but the calendar displayed is always the Gregorian, even
|
||||
for a date at which the Gregorian calendar did not exist.
|
||||
|
||||
While Emacs cannot display other calendars, it can convert dates to
|
||||
and from several other calendars.
|
||||
|
@ -711,7 +735,8 @@ century.
|
|||
@cindex astronomical day numbers
|
||||
Astronomers use a simple counting of days elapsed since noon, Monday,
|
||||
January 1, 4713 BC on the Julian calendar. The number of days elapsed
|
||||
is called the @dfn{Julian day number} or the @dfn{Astronomical day number}.
|
||||
since then is called the @dfn{Julian day number} or the
|
||||
@dfn{Astronomical day number}.
|
||||
|
||||
@cindex Hebrew calendar
|
||||
The Hebrew calendar is used by tradition in the Jewish religion. The
|
||||
|
@ -736,6 +761,10 @@ the metric system. The French government officially abandoned this
|
|||
calendar at the end of 1805.
|
||||
|
||||
@cindex Mayan calendars
|
||||
@cindex long count calendar system
|
||||
@cindex tzolkin calendar system
|
||||
@cindex haab calendar system
|
||||
@cindex Goodman-Martinez-Thompson correlation
|
||||
The Maya of Central America used three separate, overlapping calendar
|
||||
systems, the @emph{long count}, the @emph{tzolkin}, and the @emph{haab}.
|
||||
Emacs knows about all three of these calendars. Experts dispute the
|
||||
|
@ -751,6 +780,7 @@ extra period to make it six days. The Ethiopic calendar is identical in
|
|||
structure, but has different year numbers and month names.
|
||||
|
||||
@cindex Persian calendar
|
||||
@cindex Birashk
|
||||
The Persians use a solar calendar based on a design of Omar Khayyam.
|
||||
Their calendar consists of twelve months of which the first six have 31
|
||||
days, the next five have 30 days, and the last has 29 in ordinary years
|
||||
|
@ -840,13 +870,13 @@ Display Mayan date for selected day (@code{calendar-mayan-print-date}).
|
|||
Otherwise, move point to the date you want to convert, then type the
|
||||
appropriate command starting with @kbd{p} from the table above. The
|
||||
prefix @kbd{p} is a mnemonic for ``print'', since Emacs ``prints'' the
|
||||
equivalent date in the echo area. @kbd{p o} displays the
|
||||
date in all forms known to Emacs. You can also use @kbd{mouse-3} and
|
||||
then choose @kbd{Other calendars} from the menu that appears. This
|
||||
displays the equivalent forms of the date in all the calendars Emacs
|
||||
understands, in the form of a menu. (Choosing an alternative from
|
||||
this menu doesn't actually do anything---the menu is used only for
|
||||
display.)
|
||||
equivalent date in the echo area. @kbd{p o}
|
||||
(@code{calendar-print-other-dates}) displays the date in all forms
|
||||
known to Emacs. You can also use @kbd{mouse-3} and then choose
|
||||
@kbd{Other calendars} from the menu that appears. This displays the
|
||||
equivalent forms of the date in all the calendars Emacs understands,
|
||||
in the form of a menu. (Choosing an alternative from this menu
|
||||
doesn't actually do anything---the menu is used only for display.)
|
||||
|
||||
@node From Other Calendar
|
||||
@subsection Converting From Other Calendars
|
||||
|
@ -1053,10 +1083,11 @@ Mail yourself email reminders about upcoming diary entries.
|
|||
@kindex d @r{(Calendar mode)}
|
||||
@findex diary-view-entries
|
||||
@vindex calendar-view-diary-initially-flag
|
||||
Displaying the diary entries with @kbd{d} shows in a separate buffer
|
||||
the diary entries for the selected date in the calendar. The mode line
|
||||
of the new buffer shows the date of the diary entries. Holidays are
|
||||
shown either in the buffer or in the mode line, depending on the display
|
||||
Displaying the diary entries with @kbd{d}
|
||||
(@code{diary-view-entries}) shows in a separate buffer the diary
|
||||
entries for the selected date in the calendar. The mode line of the
|
||||
new buffer shows the date of the diary entries. Holidays are shown
|
||||
either in the buffer or in the mode line, depending on the display
|
||||
method you choose
|
||||
@iftex
|
||||
(@pxref{Diary Display,,, emacs-xtra, Specialized Emacs Features}).
|
||||
|
@ -1079,8 +1110,8 @@ current date is visible).
|
|||
@findex diary-mark-entries
|
||||
@vindex calendar-mark-diary-entries-flag
|
||||
To get a broader view of which days are mentioned in the diary, use
|
||||
the @kbd{m} command. This marks the dates that have diary entries in
|
||||
a different face.
|
||||
the @kbd{m} (@code{diary-mark-entries}) command. This marks the dates
|
||||
that have diary entries in a different face.
|
||||
@iftex
|
||||
@xref{Calendar Customizing,,, emacs-xtra, Specialized Emacs Features}.
|
||||
@end iftex
|
||||
|
@ -1089,9 +1120,10 @@ a different face.
|
|||
@end ifnottex
|
||||
|
||||
This command applies both to the months that are currently visible
|
||||
and to those that subsequently become visible after scrolling. To turn
|
||||
marking off and erase the current marks, type @kbd{u}, which also
|
||||
turns off holiday marks (@pxref{Holidays}). If the variable
|
||||
and to those that subsequently become visible after scrolling. To
|
||||
turn marking off and erase the current marks, type @kbd{u}
|
||||
(@code{calendar-unmark}), which also turns off holiday marks
|
||||
(@pxref{Holidays}). If the variable
|
||||
@code{calendar-mark-diary-entries-flag} is non-@code{nil}, creating or
|
||||
updating the calendar marks diary dates automatically.
|
||||
|
||||
|
@ -1107,9 +1139,10 @@ otherwise mark many different dates.
|
|||
@kindex s @r{(Calendar mode)}
|
||||
@findex diary-show-all-entries
|
||||
To see the full diary file, rather than just some of the entries, use
|
||||
the @kbd{s} command.
|
||||
the @kbd{s} (@code{diary-show-all-entries}) command.
|
||||
|
||||
@findex diary
|
||||
@vindex diary-number-of-entries
|
||||
The command @kbd{M-x diary} displays the diary entries for the current
|
||||
date, independently of the calendar display, and optionally for the next
|
||||
few days as well; the variable @code{diary-number-of-entries} specifies
|
||||
|
@ -1161,6 +1194,9 @@ and @var{day} are numbers of one or two digits. The optional @var{year}
|
|||
is also a number, and may be abbreviated to the last two digits; that
|
||||
is, you can use @samp{11/12/2012} or @samp{11/12/12}.
|
||||
|
||||
@vindex calendar-abbrev-length
|
||||
@vindex calendar-month-abbrev-array
|
||||
@vindex calendar-day-abbrev-array
|
||||
Dates can also have the form @samp{@var{monthname} @var{day}} or
|
||||
@samp{@var{monthname} @var{day}, @var{year}}, where the month's name can
|
||||
be spelled in full or abbreviated (with or without a period). The
|
||||
|
@ -1194,6 +1230,7 @@ significant.
|
|||
|
||||
@node Adding to Diary
|
||||
@subsection Commands to Add to the Diary
|
||||
@cindex create diary entries
|
||||
|
||||
While in the calendar, there are several commands to create diary
|
||||
entries. The basic commands are listed here; more sophisticated
|
||||
|
@ -1219,10 +1256,11 @@ Add a diary entry for the selected day of the year (@code{diary-insert-yearly-en
|
|||
|
||||
@kindex i d @r{(Calendar mode)}
|
||||
@findex diary-insert-entry
|
||||
You can make a diary entry for a specific date by selecting that date
|
||||
in the calendar window and typing the @kbd{i d} command. This command
|
||||
displays the end of your diary file in another window and inserts the
|
||||
date; you can then type the rest of the diary entry.
|
||||
You can make a diary entry for a specific date by selecting that
|
||||
date in the calendar window and typing the @kbd{i d}
|
||||
(@code{diary-insert-entry}) command. This command displays the end of
|
||||
your diary file in another window and inserts the date; you can then
|
||||
type the rest of the diary entry.
|
||||
|
||||
@kindex i w @r{(Calendar mode)}
|
||||
@findex diary-insert-weekly-entry
|
||||
|
@ -1231,12 +1269,14 @@ date; you can then type the rest of the diary entry.
|
|||
@kindex i y @r{(Calendar mode)}
|
||||
@findex diary-insert-yearly-entry
|
||||
If you want to make a diary entry that applies to a specific day of
|
||||
the week, select that day of the week (any occurrence will do) and type
|
||||
@kbd{i w}. This inserts the day-of-week as a generic date; you can then
|
||||
type the rest of the diary entry. You can make a monthly diary entry in
|
||||
the same fashion: select the day of the month, use the @kbd{i m}
|
||||
command, and type the rest of the entry. Similarly, you can insert a
|
||||
yearly diary entry with the @kbd{i y} command.
|
||||
the week, select that day of the week (any occurrence will do) and
|
||||
type @kbd{i w} (@code{diary-insert-weekly-entry}). This inserts the
|
||||
day-of-week as a generic date; you can then type the rest of the diary
|
||||
entry. You can make a monthly diary entry in the same fashion: select
|
||||
the day of the month, use the @kbd{i m}
|
||||
(@code{diary-insert-monthly-entry}) command, and type the rest of the
|
||||
entry. Similarly, you can insert a yearly diary entry with the @kbd{i
|
||||
y} (@code{diary-insert-yearly-entry}) command.
|
||||
|
||||
All of the above commands make marking diary entries by default. To
|
||||
make a nonmarking diary entry, give a prefix argument to the command.
|
||||
|
@ -1251,6 +1291,7 @@ calendar window, if appropriate. You can use the command
|
|||
@node Special Diary Entries
|
||||
@subsection Special Diary Entries
|
||||
|
||||
@cindex sexp entries, in diary
|
||||
In addition to entries based on calendar dates, the diary file can
|
||||
contain @dfn{sexp entries} for regular events such as anniversaries.
|
||||
These entries are based on Lisp expressions (sexps) that Emacs evaluates
|
||||
|
@ -1276,11 +1317,12 @@ Add a cyclic diary entry starting at the date
|
|||
|
||||
@kindex i a @r{(Calendar mode)}
|
||||
@findex diary-insert-anniversary-entry
|
||||
If you want to make a diary entry that applies to the anniversary of a
|
||||
specific date, move point to that date and use the @kbd{i a} command.
|
||||
This displays the end of your diary file in another window and inserts
|
||||
the anniversary description; you can then type the rest of the diary
|
||||
entry. The entry looks like this:
|
||||
If you want to make a diary entry that applies to the anniversary of
|
||||
a specific date, move point to that date and use the @kbd{i a}
|
||||
(@code{diary-insert-anniversary-entry}) command. This displays the
|
||||
end of your diary file in another window and inserts the anniversary
|
||||
description; you can then type the rest of the diary entry. The entry
|
||||
looks like this:
|
||||
|
||||
@findex diary-anniversary
|
||||
@example
|
||||
|
@ -1294,6 +1336,7 @@ calendar style, the input order of month, day and year is different.)
|
|||
The reason this expression requires a beginning year is that advanced
|
||||
diary functions can use it to calculate the number of elapsed years.
|
||||
|
||||
@cindex block diary entry
|
||||
A @dfn{block} diary entry applies to a specified range of consecutive
|
||||
dates. Here is a block diary entry that applies to all dates from June
|
||||
24, 2012 through July 10, 2012:
|
||||
|
@ -1310,17 +1353,19 @@ calendar style, the input order of month, day and year is different.)
|
|||
|
||||
@kindex i b @r{(Calendar mode)}
|
||||
@findex diary-insert-block-entry
|
||||
To insert a block entry, place point and the mark on the two
|
||||
dates that begin and end the range, and type @kbd{i b}. This command
|
||||
displays the end of your diary file in another window and inserts the
|
||||
block description; you can then type the diary entry.
|
||||
To insert a block entry, place point and the mark on the two dates
|
||||
that begin and end the range, and type @kbd{i b}
|
||||
(@code{diary-insert-block-entry}). This command displays the end of
|
||||
your diary file in another window and inserts the block description;
|
||||
you can then type the diary entry.
|
||||
|
||||
@kindex i c @r{(Calendar mode)}
|
||||
@findex diary-insert-cyclic-entry
|
||||
@dfn{Cyclic} diary entries repeat after a fixed interval of days. To
|
||||
create one, select the starting date and use the @kbd{i c} command. The
|
||||
command prompts for the length of interval, then inserts the entry,
|
||||
which looks like this:
|
||||
@cindex cyclic diary entry
|
||||
@dfn{Cyclic} diary entries repeat after a fixed interval of days.
|
||||
To create one, select the starting date and use the @kbd{i c}
|
||||
(@code{diary-insert-cyclic-entry}) command. The command prompts for
|
||||
the length of interval, then inserts the entry, which looks like this:
|
||||
|
||||
@findex diary-cyclic
|
||||
@example
|
||||
|
@ -1342,6 +1387,7 @@ since every date visible in the calendar window must be individually
|
|||
checked. So it's a good idea to make sexp diary entries nonmarking
|
||||
(with @samp{&}) when possible.
|
||||
|
||||
@cindex floating diary entry
|
||||
Another sophisticated kind of sexp entry, a @dfn{floating} diary entry,
|
||||
specifies a regularly occurring event by offsets specified in days,
|
||||
weeks, and months. It is comparable to a crontab entry interpreted by
|
||||
|
@ -1477,6 +1523,7 @@ appointment list with @kbd{M-x appt-delete}.
|
|||
|
||||
@node Importing Diary
|
||||
@subsection Importing and Exporting Diary Entries
|
||||
@cindex importing diary entries
|
||||
|
||||
You can transfer diary entries between Emacs diary files and a
|
||||
variety of other formats.
|
||||
|
@ -1534,6 +1581,7 @@ to the main diary file, if these are different files.
|
|||
|
||||
@findex icalendar-export-file
|
||||
@findex icalendar-export-region
|
||||
@cindex export diary
|
||||
Use @code{icalendar-export-file} to interactively export an entire
|
||||
Emacs diary file to iCalendar format. To export only a part of a diary
|
||||
file, mark the relevant area, and call @code{icalendar-export-region}.
|
||||
|
|
|
@ -2343,19 +2343,33 @@ documentation for details.
|
|||
@vindex xref-auto-jump-to-first-definition
|
||||
If any of the above commands finds more than one matching
|
||||
definition, it by default pops up the @file{*xref*} buffer showing the
|
||||
matching candidates. (@kbd{C-M-.}@: @emph{always} pops up the
|
||||
@file{*xref*} buffer if it finds at least one match.) The candidates
|
||||
are normally shown in that buffer as the name of a file and the
|
||||
matching identifier(s) in that file. In that buffer, you can select
|
||||
any of the candidates for display, and you have several additional
|
||||
commands, described in @ref{Xref Commands}. However, if the value of
|
||||
the variable @code{xref-auto-jump-to-first-definition} is @code{move},
|
||||
the first of these candidates is automatically selected in the
|
||||
@file{*xref*} buffer, and if it's @code{t} or @code{show}, the first
|
||||
candidate is automatically shown in its own window; @code{t} also
|
||||
selects the window showing the first candidate. The default value is
|
||||
@code{nil}, which just shows the candidates in the @file{*xref*}
|
||||
buffer, but doesn't select any of them.
|
||||
matching candidates and selects that buffer's window. (@kbd{C-M-.}@:
|
||||
@emph{always} pops up the @file{*xref*} buffer if it finds at least
|
||||
one match.) Each candidate is normally shown in that buffer as the
|
||||
name of a file and the matching identifier(s) in that file. In that
|
||||
buffer, you can select any of the candidates for display, and you have
|
||||
several additional commands, described in @ref{Xref Commands}.
|
||||
However, if the value of the variable
|
||||
@code{xref-auto-jump-to-first-definition} is @code{move}, Emacs
|
||||
automatically moves point to the first of these candidates in the
|
||||
@file{*xref*} buffer, so just typing @key{RET} will display the
|
||||
definition of that candidate. If the value of the variable is
|
||||
@code{t} or @code{show}, the first candidate is automatically shown in
|
||||
its own window; @code{t} also selects the window showing the first
|
||||
candidate's definition, while @code{show} leaves the window of the
|
||||
@file{*xfer*} buffer selected. The default value is @code{nil}, which
|
||||
just shows the candidates in the @file{*xref*} buffer, but neither
|
||||
selects any of them nor shows their definition, until you select a
|
||||
candidate in the @file{*xref*} buffer.
|
||||
|
||||
@findex next-error, in @file{*xref*} buffer
|
||||
@findex previous-error, in @file{*xref*} buffer
|
||||
@kindex M-g M-n, for navigation in @file{*xref*} buffer
|
||||
@kindex M-g M-p, for navigation in @file{*xref*} buffer
|
||||
If you switch away of the window showing the @file{*xref*} buffer
|
||||
which displays several candidates, you can move from one candidate to
|
||||
another using the commands @w{@kbd{M-g M-n}} (@code{next-error}) and
|
||||
@w{@kbd{M-g M-p}} (@code{previous-error}). @xref{Compilation Mode}.
|
||||
|
||||
@kindex M-,
|
||||
@findex xref-go-back
|
||||
|
@ -2518,12 +2532,17 @@ referenced. The XREF mode commands are available in this buffer, see
|
|||
@vindex xref-auto-jump-to-first-xref
|
||||
If the value of the variable @code{xref-auto-jump-to-first-xref} is
|
||||
@code{t}, @code{xref-find-references} automatically jumps to the first
|
||||
result and selects the window where it is displayed. If the value is
|
||||
@code{show}, the first result is shown, but the window showing the
|
||||
result in the @file{*xref*} buffer and selects the window where that
|
||||
reference is displayed; you can select the other results with
|
||||
@w{@kbd{M-g M-n}} (@code{next-error}) and @w{@kbd{M-g M-p}}
|
||||
(@code{previous-error}) (@pxref{Compilation Mode}). If the value is
|
||||
@code{show}, the first result is displayed, but the window showing the
|
||||
@file{*xref*} buffer is left selected. If the value is @code{move},
|
||||
the first result is selected in the @file{*xref*} buffer, but is not
|
||||
shown. The default value is @code{nil}, which just shows the results
|
||||
in the @file{*xref*} buffer, but doesn't select any of them.
|
||||
displayed; you can then use @key{RET} to actually display the
|
||||
reference. The default value is @code{nil}, which just shows the
|
||||
results in the @file{*xref*} buffer, but doesn't select any of them,
|
||||
and doesn't display the reference itself.
|
||||
|
||||
@findex xref-query-replace-in-results
|
||||
@kbd{r} (@code{xref-query-replace-in-results}) reads a @var{replacement}
|
||||
|
|
|
@ -380,8 +380,19 @@ Save all the current bookmark values in the default bookmark file.
|
|||
@kbd{C-x r m}, which sets a bookmark using the visited file name as
|
||||
the default for the bookmark name. If you name each bookmark after
|
||||
the file it points to, then you can conveniently revisit any of those
|
||||
files with @kbd{C-x r b}, and move to the position of the bookmark at
|
||||
the same time.
|
||||
files with @kbd{C-x r b} (@code{bookmark-jump}), and move to the
|
||||
position of the bookmark at the same time.
|
||||
|
||||
@vindex bookmark-fringe-mark
|
||||
In addition to recording the current position, on graphical displays
|
||||
@kbd{C-x r m} places a special image on the left fringe
|
||||
(@pxref{Fringes}) of the screen line corresponding to the recorded
|
||||
position, to indicate that there's a bookmark there. This can be
|
||||
controlled by the user option @code{bookmark-fringe-mark}: customize
|
||||
it to @code{nil} to disable the fringe mark. The default value is
|
||||
@code{bookmark-mark}, which is the bitmap used for this purpose. When
|
||||
you later use @kbd{C-x r b} to jump back to the bookmark, the fringe
|
||||
mark will be again shown on the fringe.
|
||||
|
||||
@kindex C-x r M
|
||||
@findex bookmark-set-no-overwrite
|
||||
|
|
|
@ -19428,7 +19428,7 @@ There is more, but that is the hardest part.
|
|||
@appendixsec The @file{ring.el} File
|
||||
@cindex @file{ring.el} file
|
||||
|
||||
Interestingly, GNU Emacs posses a file called @file{ring.el} that
|
||||
Interestingly, GNU Emacs possesses a file called @file{ring.el} that
|
||||
provides many of the features we just discussed. But functions such
|
||||
as @code{kill-ring-yank-pointer} do not use this library, possibly
|
||||
because they were written earlier.
|
||||
|
|
|
@ -2823,6 +2823,18 @@ direction.
|
|||
See also @code{next-window} and @code{previous-window}, in @ref{Cyclic
|
||||
Window Ordering}.
|
||||
|
||||
Some Lisp programs need to find one or more frames that satisfy a
|
||||
given criteria. The function @code{filtered-frame-list} is provided for
|
||||
this purpose.
|
||||
|
||||
@defun filtered-frame-list predicate
|
||||
This function returns the list of all the live frames which satisfy the
|
||||
specified @var{predicate}. The argument @var{predicate} must be a
|
||||
function of one argument, a frame to be tested against the filtering
|
||||
criteria, and should return non-@code{nil} if the frame satisfies the
|
||||
criteria.
|
||||
@end defun
|
||||
|
||||
@node Minibuffers and Frames
|
||||
@section Minibuffers and Frames
|
||||
|
||||
|
|
|
@ -786,7 +786,6 @@ Here's a more complicated test:
|
|||
@end lisp
|
||||
|
||||
@findex make-ert-test
|
||||
@findex ert-equal-including-properties
|
||||
This test creates a test object using @code{make-ert-test} whose body
|
||||
will immediately signal failure. It then runs that test and asserts
|
||||
that it fails. Then, it creates a temporary buffer and invokes
|
||||
|
@ -795,7 +794,7 @@ to the current buffer. Finally, it extracts the first line from the
|
|||
buffer and asserts that it matches what we expect. It uses
|
||||
@code{buffer-substring-no-properties} and @code{equal} to ignore text
|
||||
properties; for a test that takes properties into account,
|
||||
@code{buffer-substring} and @code{ert-equal-including-properties}
|
||||
@code{buffer-substring} and @code{equal-including-properties}
|
||||
could be used instead.
|
||||
|
||||
The reason why this test only checks the first line of the backtrace
|
||||
|
|
|
@ -760,14 +760,14 @@ This chapter describes commands that are specific to buffers that
|
|||
contain widgets.
|
||||
|
||||
@cindex widget keybindings
|
||||
@defvr Const widget-keymap
|
||||
@defvar widget-keymap
|
||||
Keymap containing useful bindings for buffers containing widgets.
|
||||
|
||||
Binds @key{TAB} and @kbd{C-@key{TAB}} to @code{widget-forward} and
|
||||
@code{widget-backward}, respectively. It also binds @key{RET} to
|
||||
@code{widget-button-press} and @kbd{down-mouse-1} and
|
||||
Binds @key{TAB} to @code{widget-forward} and both @kbd{S-@key{TAB}} and
|
||||
@kbd{M-@key{TAB}} to @code{widget-backward}. It also binds @key{RET} to
|
||||
@code{widget-button-press} and both @kbd{down-mouse-1} and
|
||||
@kbd{down-mouse-2} to @code{widget-button-click}.
|
||||
@end defvr
|
||||
@end defvar
|
||||
|
||||
There's also a keymap for events that the Widget library doesn't need
|
||||
to handle.
|
||||
|
@ -788,8 +788,8 @@ The following navigation commands are available:
|
|||
@deffn Command widget-forward &optional count
|
||||
Move point @var{count} buttons or editing fields forward.
|
||||
@end deffn
|
||||
@item @kbd{M-@key{TAB}}
|
||||
@itemx @kbd{S-@key{TAB}}
|
||||
@item M-@key{TAB}
|
||||
@itemx S-@key{TAB}
|
||||
@deffn Command widget-backward &optional count
|
||||
Move point @var{count} buttons or editing fields backward.
|
||||
@end deffn
|
||||
|
@ -805,30 +805,35 @@ When editing an @code{editable-field} widget, the following commands
|
|||
are available:
|
||||
|
||||
@table @kbd
|
||||
@item @key{C-e}
|
||||
@item C-e
|
||||
@deffn Command widget-end-of-line
|
||||
Move point to the end of field or end of line, whichever is first.
|
||||
@end deffn
|
||||
|
||||
@item @kbd{C-k}
|
||||
@item C-k
|
||||
@deffn Command widget-kill-line
|
||||
Kill to end of field or end of line, whichever is first.
|
||||
@end deffn
|
||||
|
||||
@item @kbd{M-TAB}
|
||||
@item M-@key{TAB}
|
||||
@itemx C-M-i
|
||||
@deffn Command widget-complete
|
||||
Complete the content of the editable field at point.
|
||||
@end deffn
|
||||
|
||||
@item @kbd{C-m}
|
||||
@item C-m
|
||||
@itemx @key{RET}
|
||||
@deffn Command widget-field-activate
|
||||
Invoke the editable field at point.
|
||||
@end deffn
|
||||
@end table
|
||||
|
||||
The following two are commands that can execute widget actions.
|
||||
The following two commands can execute the action associated with a
|
||||
button widget (e.g., a radio button or checkbox):
|
||||
|
||||
@table @kbd
|
||||
@item @key{RET}
|
||||
@itemx C-m
|
||||
@findex widget-button-press
|
||||
@deffn Command widget-button-press @var{pos} &optional @var{event}
|
||||
Invoke the button at @var{pos}, defaulting to point.
|
||||
|
@ -3262,14 +3267,26 @@ to get a string. Otherwise, it @code{eval}s it.
|
|||
This chapter is about the customization options for the Widget
|
||||
library, for the end user.
|
||||
|
||||
@deffn Face widget-field-face
|
||||
Face used for other editing fields.
|
||||
@deffn Face widget-documentation
|
||||
Face used for documentation text.
|
||||
@end deffn
|
||||
|
||||
@deffn Face widget-button-face
|
||||
@deffn Face widget-field
|
||||
Face used for editable fields.
|
||||
@end deffn
|
||||
|
||||
@deffn Face widget-button
|
||||
Face used for buttons.
|
||||
@end deffn
|
||||
|
||||
@deffn Face widget-button-pressed
|
||||
Face used for pressed buttons.
|
||||
@end deffn
|
||||
|
||||
@deffn Face widget-inactive
|
||||
Face used for inactive widgets.
|
||||
@end deffn
|
||||
|
||||
@defopt widget-mouse-face
|
||||
Face used for highlighting a button when the mouse pointer moves
|
||||
across it.
|
||||
|
|
22
etc/PROBLEMS
22
etc/PROBLEMS
|
@ -216,6 +216,28 @@ arguments you intend to pass to Emacs):
|
|||
|
||||
$ SNAP=1 SNAP_NAME=1 SNAP_REVISION=1 emacs ...
|
||||
|
||||
** Emacs built with tree-sitter crashes when some *-ts-mode is turned on.
|
||||
|
||||
The crash is in many cases an abort due to run-time detection of stack
|
||||
smashing, and it happens when one of the *-ts-mode modes is turned on
|
||||
in a buffer.
|
||||
|
||||
The reason is that the tree-sitter library changed its Application
|
||||
Binary Interface (ABI) between version 0.22.2 and 0.22.4, but did not
|
||||
increment the ABI version number. Therefore, Emacs compiled with
|
||||
tree-sitter versions before the change will try to use the shared
|
||||
library after the change, and crash due to incompatibilities in the
|
||||
ABI.
|
||||
|
||||
Until and unless the tree-sitter developers release a library with an
|
||||
updated ABI version, the solution is to rebuild Emacs with the actual
|
||||
library with which it will be used. If you cannot rebuild Emacs,
|
||||
downgrade your tree-sitter library to version 0.22.2 or older.
|
||||
|
||||
The relevant tree-sitter issue is here:
|
||||
|
||||
https://github.com/tree-sitter/tree-sitter/issues/3296
|
||||
|
||||
** Emacs crashes when you try to view a file with complex characters.
|
||||
|
||||
One possible reason for this could be a bug in the libotf or the
|
||||
|
|
|
@ -689,7 +689,9 @@ compilation and evaluation time conflicts."
|
|||
((parent-is "binary_expression") parent 0)
|
||||
((parent-is "block") parent-bol csharp-ts-mode-indent-offset)
|
||||
((parent-is "local_function_statement") parent-bol 0)
|
||||
((parent-is "if_statement") parent-bol 0)
|
||||
((match "block" "if_statement") parent-bol 0)
|
||||
((match "else" "if_statement") parent-bol 0)
|
||||
((parent-is "if_statement") parent-bol csharp-ts-mode-indent-offset)
|
||||
((parent-is "for_statement") parent-bol 0)
|
||||
((parent-is "for_each_statement") parent-bol 0)
|
||||
((parent-is "while_statement") parent-bol 0)
|
||||
|
|
|
@ -1206,13 +1206,15 @@ fontified."
|
|||
|
||||
:feature 'builtin
|
||||
:language 'python
|
||||
`(((identifier) @font-lock-builtin-face
|
||||
(:match ,(rx-to-string
|
||||
`(seq bol
|
||||
(or ,@python--treesit-builtins
|
||||
,@python--treesit-special-attributes)
|
||||
eol))
|
||||
@font-lock-builtin-face)))
|
||||
`((call function: (identifier) @font-lock-builtin-face
|
||||
(:match ,(rx-to-string
|
||||
`(seq bol (or ,@python--treesit-builtins) eol))
|
||||
@font-lock-builtin-face))
|
||||
(attribute attribute: (identifier) @font-lock-builtin-face
|
||||
(:match ,(rx-to-string
|
||||
`(seq bol
|
||||
(or ,@python--treesit-special-attributes) eol))
|
||||
@font-lock-builtin-face)))
|
||||
|
||||
:feature 'decorator
|
||||
:language 'python
|
||||
|
|
|
@ -2422,7 +2422,9 @@ struct it
|
|||
bool_bf string_from_display_prop_p : 1;
|
||||
|
||||
/* True means `string' comes from a `line-prefix' or `wrap-prefix'
|
||||
property. */
|
||||
property, and that these properties were already handled, even if
|
||||
their value is not a string. This is used to avoid processing
|
||||
the same line/wrap prefix more than once for the same glyph row. */
|
||||
bool_bf string_from_prefix_prop_p : 1;
|
||||
|
||||
/* True means we are iterating an object that came from a value of a
|
||||
|
|
|
@ -24415,6 +24415,7 @@ push_prefix_prop (struct it *it, Lisp_Object prop)
|
|||
{
|
||||
it->method = GET_FROM_STRETCH;
|
||||
it->object = prop;
|
||||
it->string_from_prefix_prop_p = true;
|
||||
}
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
else if (IMAGEP (prop))
|
||||
|
@ -24422,6 +24423,7 @@ push_prefix_prop (struct it *it, Lisp_Object prop)
|
|||
it->what = IT_IMAGE;
|
||||
it->image_id = lookup_image (it->f, prop, it->face_id);
|
||||
it->method = GET_FROM_IMAGE;
|
||||
it->string_from_prefix_prop_p = true;
|
||||
}
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
else
|
||||
|
|
51
test/lisp/progmodes/csharp-mode-resources/indent-ts.erts
Normal file
51
test/lisp/progmodes/csharp-mode-resources/indent-ts.erts
Normal file
|
@ -0,0 +1,51 @@
|
|||
Code:
|
||||
(lambda ()
|
||||
(csharp-ts-mode)
|
||||
(indent-region (point-min) (point-max)))
|
||||
|
||||
Point-Char: |
|
||||
|
||||
Name: Indent single statement body for if/else. (bug#70345)
|
||||
|
||||
=-=
|
||||
|
||||
int x;
|
||||
int y;
|
||||
|
||||
if (true)
|
||||
x = 2;
|
||||
|
||||
if (true)
|
||||
{
|
||||
x = 2;
|
||||
}
|
||||
|
||||
if (true)
|
||||
x = 2;
|
||||
else
|
||||
y = 2;
|
||||
|
||||
if (true)
|
||||
{
|
||||
x = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
y = 2;
|
||||
}
|
||||
|
||||
if (true)
|
||||
x = 2;
|
||||
else
|
||||
{
|
||||
y = 2;
|
||||
}
|
||||
|
||||
if (true)
|
||||
{
|
||||
x = 2;
|
||||
}
|
||||
else
|
||||
y = 2;
|
||||
|
||||
=-=-=
|
|
@ -26,5 +26,8 @@
|
|||
(ert-deftest csharp-mode-test-indentation ()
|
||||
(ert-test-erts-file (ert-resource-file "indent.erts")))
|
||||
|
||||
(ert-deftest csharp-ts-mode-test-indentation ()
|
||||
(ert-test-erts-file (ert-resource-file "indent-ts.erts")))
|
||||
|
||||
(provide 'csharp-mode-tests)
|
||||
;;; csharp-mode-tests.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue