mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
Merge from origin/emacs-26
28e0261890* lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.ac53084f9bImprove fix for Bug#29712ffd4771560* doc/lispref/sequences.texi (Sequence Functions): Improve...f274cbd185Avoid reordering of output in 'shr-insert-document'7890864413Improve documentation of 'invisible-p'a1327bbc64Remove one more check that Vframe_list is non-nil63b6281fddFix off-by-one error in 'css--hex-color'804b37ca63Save and restore text-pixel height and width of frames (Bu...777fe94661Partially revert "Mention new strictness for &optional, &r...ad17db7964* lisp/vc/smerge-mode.el (smerge-refine): Respect font-loc...5a7d0095a4* lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete...e019c35df6FOR_EACH_FRAME no longer assumes frame-listd64b88da2f* src/font.c (Ffont_info): Doc fix. (Bug#29682)92b2604a7fModernise message.el face spec syntaxb1efbe6564Update message.el obsolete face aliases2494c14e76; * lisp/comint.el (comint-terminfo-terminal): Add a :vers...12ad276d15Improve documentation of TERM environment variable8ed529f0f3Add option to configure comint TERM889f07c352Better support utf-8-with-signature and utf-8-hfs in XML/HTMLa2697fac0e* lisp/menu-bar.el (menu-bar-mode): Doc fix.ffb50eace6; * etc/NEWS: Fix last change.95606af8b0Fix Bug#29712 in tramp-tests.el9bf66c6beeDon't run FOR_EACH_FRAME when there's no frame left (Bug#2...c2a88ec8e8* lisp/textmodes/tex-mode.el: Ensure uncompiled file is lo...b178870528Remember password change for IMAP in Gnus (Bug#29692)a21dac18bbAdd %DUMBFW to the default GnuTLS priority strings780407cff1Small fixes prompted by make check-declare541a60108dFix some custom groupse220d6e112Fix fontification of first declaration within a C++ lambda...aa66da220c* src/data.c (Fadd_variable_watcher): Doc fix.f838210b01Fix misfontification of C++ member initialization list aft...232c6465ceFix doc-string of Fbuffer_list3f9aac68d7Don't raise an extraneous frame (bug#29696)e7b1111155Mention new strictness for &optional, &rest in arglists (B...4cb8696e47Don't misfontify "foo ()" inside C++ initialization parent...ce31e726adFixes for defcustoms, prompted by cus-test-optsaacd1e14fc* lisp/net/newst-backend.el (newsticker--raw-url-list-defa...7e2f4d3d41* lisp/htmlfontify.el (hfy-which-etags): Fix it.52d2a690f6Add missing :version tags revealed by cusver-checkf5d0360234Escape column-zero doc parens # Conflicts: # etc/NEWS
This commit is contained in:
commit
8e46d93dcd
60 changed files with 395 additions and 200 deletions
|
|
@ -303,6 +303,11 @@ And here's how to do it in csh:
|
|||
if ($?prompt) set prompt = @dots{}
|
||||
@end example
|
||||
|
||||
@vindex TERM, environment variable, in compilation mode
|
||||
If you want to customize the value of the @env{TERM} environment
|
||||
variable passed to the compilation subshell, customize the variable
|
||||
@code{comint-terminfo-terminal} (@pxref{Shell Options}).
|
||||
|
||||
Emacs does not expect a compiler process to launch asynchronous
|
||||
subprocesses; if it does, and they keep running after the main
|
||||
compiler process has terminated, Emacs may kill them or their output
|
||||
|
|
|
|||
|
|
@ -1396,6 +1396,16 @@ directory stack if they are not already on it
|
|||
(@code{shell-pushd-dunique}). The values you choose should match the
|
||||
underlying shell, of course.
|
||||
|
||||
@vindex comint-terminfo-terminal
|
||||
@vindex TERM, environment variable, in sub-shell
|
||||
Comint mode sets the @env{TERM} environment variable to a safe default
|
||||
value, but this value disables some useful features. For example,
|
||||
color is disabled in applications that use @env{TERM} to determine if
|
||||
color is supported. Therefore, Emacs provides an option
|
||||
@code{comint-terminfo-terminal}, which you can set to a terminal that
|
||||
is present in your system's terminfo database, in order to take
|
||||
advantage of advanced features of that terminal.
|
||||
|
||||
@node Terminal emulator
|
||||
@subsection Emacs Terminal Emulator
|
||||
@findex term
|
||||
|
|
|
|||
|
|
@ -780,7 +780,7 @@ the dribble file.
|
|||
@item
|
||||
@findex open-termscript
|
||||
@cindex termscript file
|
||||
@cindex @env{TERM} environment variable
|
||||
@vindex TERM, environment variable, and display bugs
|
||||
For possible display bugs, the terminal type (the value of environment
|
||||
variable @env{TERM}), the complete termcap entry for the terminal from
|
||||
@file{/etc/termcap} (since that file is not identical on all machines),
|
||||
|
|
|
|||
|
|
@ -929,13 +929,18 @@ major mode should use the mode's own name as an element of
|
|||
|
||||
@defun invisible-p pos-or-prop
|
||||
If @var{pos-or-prop} is a marker or number, this function returns a
|
||||
non-@code{nil} value if the text at that position is invisible.
|
||||
non-@code{nil} value if the text at that position is currently
|
||||
invisible.
|
||||
|
||||
If @var{pos-or-prop} is any other kind of Lisp object, that is taken
|
||||
to mean a possible value of the @code{invisible} text or overlay
|
||||
property. In that case, this function returns a non-@code{nil} value
|
||||
if that value would cause text to become invisible, based on the
|
||||
current value of @code{buffer-invisibility-spec}.
|
||||
|
||||
The return value of this function is @code{t} if the text would be
|
||||
completely hidden on display, or a non-@code{nil}, non-@code{t} value
|
||||
if the text would be replaced by an ellipsis.
|
||||
@end defun
|
||||
|
||||
@vindex line-move-ignore-invisible
|
||||
|
|
|
|||
|
|
@ -425,6 +425,7 @@ useful example of @code{sort}.
|
|||
|
||||
@cindex sequence functions in seq
|
||||
@cindex seq library
|
||||
@cindex sequences, generalized
|
||||
The @file{seq.el} library provides the following additional sequence
|
||||
manipulation macros and functions, prefixed with @code{seq-}. To use
|
||||
them, you must first load the @file{seq} library.
|
||||
|
|
@ -859,6 +860,7 @@ it is a function of two arguments to use instead of the default @code{equal}.
|
|||
@end defun
|
||||
|
||||
@defun seq-subseq sequence start &optional end
|
||||
@cindex sub-sequence
|
||||
This function returns a subset of @var{sequence} from @var{start}
|
||||
to @var{end}, both integers (@var{end} defaults to the last element).
|
||||
If @var{start} or @var{end} is negative, it counts from the end of
|
||||
|
|
@ -926,6 +928,8 @@ contain less elements than @var{n}. @var{n} must be an integer. If
|
|||
@end defun
|
||||
|
||||
@defun seq-intersection sequence1 sequence2 &optional function
|
||||
@cindex sequences, intersection of
|
||||
@cindex intersection of sequences
|
||||
This function returns a list of the elements that appear both in
|
||||
@var{sequence1} and @var{sequence2}. If the optional argument
|
||||
@var{function} is non-@code{nil}, it is a function of two arguments to
|
||||
|
|
@ -972,6 +976,10 @@ of @var{sequence}. Keys are compared using @code{equal}.
|
|||
@end defun
|
||||
|
||||
@defun seq-into sequence type
|
||||
@cindex convert sequence to another type
|
||||
@cindex list to vector
|
||||
@cindex vector to list
|
||||
@cindex string to vector
|
||||
This function converts the sequence @var{sequence} into a sequence
|
||||
of type @var{type}. @var{type} can be one of the following symbols:
|
||||
@code{vector}, @code{string} or @code{list}.
|
||||
|
|
@ -993,6 +1001,8 @@ of type @var{type}. @var{type} can be one of the following symbols:
|
|||
@end defun
|
||||
|
||||
@defun seq-min sequence
|
||||
@cindex minimum value of sequence
|
||||
@cindex sequence minimum
|
||||
This function returns the smallest element of @var{sequence}. The
|
||||
elements of @var{sequence} must be numbers or markers
|
||||
(@pxref{Markers}).
|
||||
|
|
@ -1010,6 +1020,8 @@ elements of @var{sequence} must be numbers or markers
|
|||
@end defun
|
||||
|
||||
@defun seq-max sequence
|
||||
@cindex maximum value of sequence
|
||||
@cindex sequence maximum
|
||||
This function returns the largest element of @var{sequence}. The
|
||||
elements of @var{sequence} must be numbers or markers.
|
||||
|
||||
|
|
@ -1027,6 +1039,7 @@ elements of @var{sequence} must be numbers or markers.
|
|||
|
||||
@defmac seq-doseq (var sequence) body@dots{}
|
||||
@cindex sequence iteration
|
||||
@cindex iteration over vector or string
|
||||
This macro is like @code{dolist} (@pxref{Iteration, dolist}), except
|
||||
that @var{sequence} can be a list, vector or string. This is
|
||||
primarily useful for side-effects.
|
||||
|
|
|
|||
|
|
@ -116,9 +116,11 @@ information.
|
|||
The @code{gnutls-algorithm-priority} variable sets the GnuTLS priority
|
||||
string. This is global, not per host name (although
|
||||
@code{gnutls-negotiate} supports a priority string per connection so
|
||||
it could be done if needed). The priority string syntax is in the
|
||||
it could be done if needed). For details see the
|
||||
@uref{https://www.gnu.org/software/gnutls/documentation.html, GnuTLS
|
||||
documentation}.
|
||||
documentation} and the
|
||||
@uref{https://gnutls.org/manual/html_node/Priority-Strings.html,
|
||||
GnuTLS priority string syntax and description}.
|
||||
@end defvar
|
||||
|
||||
@defvar gnutls-trustfiles
|
||||
|
|
|
|||
23
etc/NEWS.26
23
etc/NEWS.26
|
|
@ -431,6 +431,11 @@ You can enable this by customizing 'mwheel-tilt-scroll-p'. If you
|
|||
want to reverse the direction of the scroll, customize
|
||||
'mwheel-flip-direction'.
|
||||
|
||||
+++
|
||||
** The default GnuTLS priority string now includes %DUMBFW.
|
||||
This is to avoid bad behavior in some firewalls, which causes the
|
||||
connection to be closed by the remote host.
|
||||
|
||||
** Emacsclient changes
|
||||
|
||||
+++
|
||||
|
|
@ -807,6 +812,13 @@ whose content matches a regexp; bound to '% g'.
|
|||
*** New user option 'comint-move-point-for-matching-input' to control
|
||||
where to place point after 'C-c M-r' and 'C-c M-s'.
|
||||
|
||||
+++
|
||||
*** New user option 'comint-terminfo-terminal'.
|
||||
This option allows control of the value of the TERM environment
|
||||
variable Emacs puts into the environment of the Comint mode and its
|
||||
derivatives, such as Shell mode and Compilation Shell minor-mode. The
|
||||
default is "dumb", for compatibility with previous behavior.
|
||||
|
||||
** Compilation mode
|
||||
|
||||
---
|
||||
|
|
@ -1462,6 +1474,17 @@ them through 'format' first. Even that is discouraged: for ElDoc
|
|||
support, you should set 'eldoc-documentation-function' instead of
|
||||
calling 'eldoc-message' directly.
|
||||
|
||||
---
|
||||
** Using '&rest' or '&optional' incorrectly is now an error.
|
||||
For example giving '&optional' without a following variable, or
|
||||
passing '&optional' multiple times:
|
||||
|
||||
(defun foo (&optional &rest x))
|
||||
(defun bar (&optional &optional x))
|
||||
|
||||
Previously, Emacs would just ignore the extra keyword, or give
|
||||
incorrect results in certain cases.
|
||||
|
||||
|
||||
* Lisp Changes in Emacs 26.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1310,7 +1310,7 @@ Returns an alist."
|
|||
Argument ADVANCE-TIME is a number giving the time when the alarm
|
||||
fires (minutes before the respective event). Argument ALARM-SPEC
|
||||
is a list which must be one of (audio), (display) or
|
||||
(email (ADDRESS1 ...)), see `icalendar-export-alarms'. Argument
|
||||
\(email (ADDRESS1 ...)), see `icalendar-export-alarms'. Argument
|
||||
SUMMARY is a string which contains a short description for the
|
||||
alarm."
|
||||
(let* ((action (car alarm-spec))
|
||||
|
|
|
|||
|
|
@ -290,6 +290,7 @@ If `after-input', point will be positioned after the input typed
|
|||
by the user, but before the rest of the history entry that has
|
||||
been inserted. If `end-of-line', point will be positioned at the
|
||||
end of the current logical (not visual) line after insertion."
|
||||
:version "26.1"
|
||||
:type '(radio (const :tag "Stay after input" after-input)
|
||||
(const :tag "Move to end of line" end-of-line))
|
||||
:group 'comint)
|
||||
|
|
@ -458,6 +459,12 @@ executed once when the buffer is created."
|
|||
:type 'hook
|
||||
:group 'comint)
|
||||
|
||||
(defcustom comint-terminfo-terminal "dumb"
|
||||
"Value to use for TERM when the system uses terminfo."
|
||||
:type 'string
|
||||
:group 'comint
|
||||
:version "26.1")
|
||||
|
||||
(defvar comint-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
;; Keys:
|
||||
|
|
@ -816,19 +823,7 @@ series of processes in the same Comint buffer. The hook
|
|||
(defun comint-exec-1 (name buffer command switches)
|
||||
(let ((process-environment
|
||||
(nconc
|
||||
;; If using termcap, we specify `emacs' as the terminal type
|
||||
;; because that lets us specify a width.
|
||||
;; If using terminfo, we specify `dumb' because that is
|
||||
;; a defined terminal type. `emacs' is not a defined terminal type
|
||||
;; and there is no way for us to define it here.
|
||||
;; Some programs that use terminfo get very confused
|
||||
;; if TERM is not a valid terminal type.
|
||||
;; ;; There is similar code in compile.el.
|
||||
(if (and (boundp 'system-uses-terminfo) system-uses-terminfo)
|
||||
(list "TERM=dumb" "TERMCAP="
|
||||
(format "COLUMNS=%d" (window-width)))
|
||||
(list "TERM=emacs"
|
||||
(format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width))))
|
||||
(comint-term-environment)
|
||||
(list (format "INSIDE_EMACS=%s,comint" emacs-version))
|
||||
process-environment))
|
||||
(default-directory
|
||||
|
|
@ -857,6 +852,22 @@ series of processes in the same Comint buffer. The hook
|
|||
(set-process-coding-system proc decoding encoding))
|
||||
proc))
|
||||
|
||||
(defun comint-term-environment ()
|
||||
"Return an environment variable list for terminal configuration."
|
||||
;; If using termcap, we specify `emacs' as the terminal type
|
||||
;; because that lets us specify a width.
|
||||
;; If using terminfo, we default to `dumb' because that is
|
||||
;; a defined terminal type. `emacs' is not a defined terminal type
|
||||
;; and there is no way for us to define it here.
|
||||
;; Some programs that use terminfo get very confused
|
||||
;; if TERM is not a valid terminal type.
|
||||
(if (and (boundp 'system-uses-terminfo) system-uses-terminfo)
|
||||
(list (format "TERM=%s" comint-terminfo-terminal)
|
||||
"TERMCAP="
|
||||
(format "COLUMNS=%d" (window-width)))
|
||||
(list "TERM=emacs"
|
||||
(format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width)))))
|
||||
|
||||
(defun comint-nonblank-p (str)
|
||||
"Return non-nil if STR contains non-whitespace syntax."
|
||||
(not (string-match "\\`\\s *\\'" str)))
|
||||
|
|
|
|||
|
|
@ -236,6 +236,7 @@ This includes variable references and calls to functions such as `car'."
|
|||
|
||||
(defcustom byte-compile-cond-use-jump-table t
|
||||
"Compile `cond' clauses to a jump table implementation (using a hash-table)."
|
||||
:version "26.1"
|
||||
:group 'bytecomp
|
||||
:type 'boolean)
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
If t, replace the original text without any confirmation.
|
||||
If nil, don't replace the original text and show the result in a new buffer.
|
||||
If neither t nor nil, ask user for confirmation."
|
||||
:version "26.1"
|
||||
:type '(choice (const :tag "Never" nil)
|
||||
(const :tag "Ask the user" ask)
|
||||
(const :tag "Always" t))
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
(require 'eshell)
|
||||
(require 'tramp))
|
||||
|
||||
;; There are no items in this custom group, but eshell modules (ab)use
|
||||
;; custom groups.
|
||||
;;;###autoload
|
||||
(progn
|
||||
(defgroup eshell-tramp nil
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@
|
|||
(require 'pcomplete))
|
||||
(require 'compile)
|
||||
|
||||
;; There are no items in this custom group, but eshell modules (ab)use
|
||||
;; custom groups.
|
||||
;;;###autoload
|
||||
(progn
|
||||
(defgroup eshell-xtra nil
|
||||
|
|
|
|||
|
|
@ -5199,7 +5199,9 @@ Before and after saving the buffer, this function runs
|
|||
This allows you to stop `save-some-buffers' from asking
|
||||
about certain files that you'd usually rather not save."
|
||||
:group 'auto-save
|
||||
:type 'function
|
||||
;; FIXME nil should not be a valid option, let alone the default,
|
||||
;; eg so that add-function can be used.
|
||||
:type '(choice (const :tag "Default" nil) function)
|
||||
:version "26.1")
|
||||
|
||||
(defun save-some-buffers (&optional arg pred)
|
||||
|
|
|
|||
|
|
@ -800,7 +800,7 @@ the user during startup."
|
|||
(nreverse frame-initial-geometry-arguments))
|
||||
(cdr param-list))
|
||||
|
||||
(declare-function x-focus-frame "frame.c" (frame))
|
||||
(declare-function x-focus-frame "frame.c" (frame &optional noactivate))
|
||||
|
||||
(defun select-frame-set-input-focus (frame &optional norecord)
|
||||
"Select FRAME, raise it, and set input focus, if possible.
|
||||
|
|
@ -1484,7 +1484,7 @@ FRAME."
|
|||
|
||||
(declare-function w32-mouse-absolute-pixel-position "w32fns.c")
|
||||
(declare-function x-mouse-absolute-pixel-position "xfns.c")
|
||||
(declare-function ns-mouse-absolute-pixel-position "nsfns.c")
|
||||
(declare-function ns-mouse-absolute-pixel-position "nsfns.m")
|
||||
|
||||
(defun mouse-absolute-pixel-position ()
|
||||
"Return absolute position of mouse cursor in pixels.
|
||||
|
|
|
|||
|
|
@ -745,6 +745,8 @@ The relationships recorded for each frame are
|
|||
- `delete-before' via `frameset--delete-before'
|
||||
- `parent-frame' via `frameset--parent-frame'
|
||||
- `mouse-wheel-frame' via `frameset--mouse-wheel-frame'
|
||||
- `text-pixel-width' via `frameset--text-pixel-width'
|
||||
- `text-pixel-height' via `frameset--text-pixel-height'
|
||||
|
||||
Internal use only."
|
||||
;; Record frames with their own minibuffer
|
||||
|
|
@ -791,7 +793,23 @@ Internal use only."
|
|||
'frameset--mini
|
||||
(cons nil
|
||||
(and mb-frame
|
||||
(frameset-frame-id mb-frame))))))))))
|
||||
(frameset-frame-id mb-frame)))))))))
|
||||
;; Now store text-pixel width and height if it differs from the calculated
|
||||
;; width and height and the frame is not fullscreen.
|
||||
(dolist (frame frame-list)
|
||||
(unless (frame-parameter frame 'fullscreen)
|
||||
(unless (eq (* (frame-parameter frame 'width)
|
||||
(frame-char-width frame))
|
||||
(frame-text-width frame))
|
||||
(set-frame-parameter
|
||||
frame 'frameset--text-pixel-width
|
||||
(frame-text-width frame)))
|
||||
(unless (eq (* (frame-parameter frame 'height)
|
||||
(frame-char-height frame))
|
||||
(frame-text-height frame))
|
||||
(set-frame-parameter
|
||||
frame 'frameset--text-pixel-height
|
||||
(frame-text-height frame))))))
|
||||
|
||||
;;;###autoload
|
||||
(cl-defun frameset-save (frame-list
|
||||
|
|
@ -1002,6 +1020,14 @@ Internal use only."
|
|||
(display (cdr (assq 'display filtered-cfg))) ;; post-filtering
|
||||
alt-cfg frame)
|
||||
|
||||
;; Use text-pixels for height and width, if available.
|
||||
(let ((text-pixel-width (cdr (assq 'frameset--text-pixel-width parameters)))
|
||||
(text-pixel-height (cdr (assq 'frameset--text-pixel-height parameters))))
|
||||
(when text-pixel-width
|
||||
(setf (alist-get 'width filtered-cfg) (cons 'text-pixels text-pixel-width)))
|
||||
(when text-pixel-height
|
||||
(setf (alist-get 'height filtered-cfg) (cons 'text-pixels text-pixel-height))))
|
||||
|
||||
(when fullscreen
|
||||
;; Currently Emacs has the limitation that it does not record the size
|
||||
;; and position of a frame before maximizing it, so we cannot save &
|
||||
|
|
|
|||
|
|
@ -527,7 +527,7 @@ each invocation of the saving commands."
|
|||
"If non-nil, show the cursor in the Article buffer even when not selected."
|
||||
:version "25.1"
|
||||
:group 'gnus-article
|
||||
:type 'bool)
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom gnus-saved-headers gnus-visible-headers
|
||||
"Headers to keep if `gnus-save-all-headers' is nil.
|
||||
|
|
@ -6711,8 +6711,7 @@ not have a face in `gnus-article-boring-faces'."
|
|||
(member keys nosave-but-article)
|
||||
(member keys nosave-in-article))
|
||||
(let (func)
|
||||
(save-window-excursion
|
||||
(pop-to-buffer gnus-article-current-summary)
|
||||
(with-current-buffer gnus-article-current-summary
|
||||
;; We disable the pick minor mode commands.
|
||||
(let (gnus-pick-mode)
|
||||
(setq func (key-binding keys t))))
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
|
||||
(defcustom gnus-cloud-storage-method (if (featurep 'epg) 'epg 'base64-gzip)
|
||||
"Storage method for cloud data, defaults to EPG if that's available."
|
||||
:version "26.1"
|
||||
:group 'gnus-cloud
|
||||
:type '(radio (const :tag "No encoding" nil)
|
||||
(const :tag "Base64" base64)
|
||||
|
|
@ -59,6 +60,7 @@
|
|||
|
||||
(defcustom gnus-cloud-interactive t
|
||||
"Whether Gnus Cloud changes should be confirmed."
|
||||
:version "26.1"
|
||||
:group 'gnus-cloud
|
||||
:type 'boolean)
|
||||
|
||||
|
|
|
|||
|
|
@ -1097,7 +1097,8 @@ This only works when `display-time' is enabled."
|
|||
;; remember password
|
||||
(with-current-buffer buf
|
||||
(when (and imap-password
|
||||
(not (assoc from mail-source-password-cache)))
|
||||
(not (member (cons from imap-password)
|
||||
mail-source-password-cache)))
|
||||
(push (cons from imap-password) mail-source-password-cache)))
|
||||
;; if predicate is nil, use all uids
|
||||
(dolist (uid (imap-search (or predicate "1:*") buf))
|
||||
|
|
|
|||
|
|
@ -1427,152 +1427,142 @@ starting with `not' and followed by regexps."
|
|||
(defface message-header-to
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "DarkOliveGreen1" :bold t))
|
||||
:foreground "DarkOliveGreen1" :bold t)
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "MidnightBlue" :bold t))
|
||||
:foreground "MidnightBlue" :bold t)
|
||||
(t
|
||||
(:bold t :italic t)))
|
||||
:bold t :italic t))
|
||||
"Face used for displaying To headers."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-header-to-face 'face-alias 'message-header-to)
|
||||
(put 'message-header-to-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-header-to-face
|
||||
'message-header-to "22.1")
|
||||
|
||||
(defface message-header-cc
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "chartreuse1" :bold t))
|
||||
:foreground "chartreuse1" :bold t)
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "MidnightBlue"))
|
||||
:foreground "MidnightBlue")
|
||||
(t
|
||||
(:bold t)))
|
||||
:bold t))
|
||||
"Face used for displaying Cc headers."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-header-cc-face 'face-alias 'message-header-cc)
|
||||
(put 'message-header-cc-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-header-cc-face
|
||||
'message-header-cc "22.1")
|
||||
|
||||
(defface message-header-subject
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "OliveDrab1"))
|
||||
:foreground "OliveDrab1")
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "navy blue" :bold t))
|
||||
:foreground "navy blue" :bold t)
|
||||
(t
|
||||
(:bold t)))
|
||||
:bold t))
|
||||
"Face used for displaying Subject headers."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-header-subject-face 'face-alias 'message-header-subject)
|
||||
(put 'message-header-subject-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-header-subject-face
|
||||
'message-header-subject "22.1")
|
||||
|
||||
(defface message-header-newsgroups
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "yellow" :bold t :italic t))
|
||||
:foreground "yellow" :bold t :italic t)
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "blue4" :bold t :italic t))
|
||||
:foreground "blue4" :bold t :italic t)
|
||||
(t
|
||||
(:bold t :italic t)))
|
||||
:bold t :italic t))
|
||||
"Face used for displaying Newsgroups headers."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-header-newsgroups-face 'face-alias 'message-header-newsgroups)
|
||||
(put 'message-header-newsgroups-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-header-newsgroups-face
|
||||
'message-header-newsgroups "22.1")
|
||||
|
||||
(defface message-header-other
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "VioletRed1"))
|
||||
:foreground "VioletRed1")
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "steel blue"))
|
||||
:foreground "steel blue")
|
||||
(t
|
||||
(:bold t :italic t)))
|
||||
:bold t :italic t))
|
||||
"Face used for displaying other headers."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-header-other-face 'face-alias 'message-header-other)
|
||||
(put 'message-header-other-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-header-other-face
|
||||
'message-header-other "22.1")
|
||||
|
||||
(defface message-header-name
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "green"))
|
||||
:foreground "green")
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "cornflower blue"))
|
||||
:foreground "cornflower blue")
|
||||
(t
|
||||
(:bold t)))
|
||||
:bold t))
|
||||
"Face used for displaying header names."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-header-name-face 'face-alias 'message-header-name)
|
||||
(put 'message-header-name-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-header-name-face
|
||||
'message-header-name "22.1")
|
||||
|
||||
(defface message-header-xheader
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "DeepSkyBlue1"))
|
||||
:foreground "DeepSkyBlue1")
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "blue"))
|
||||
:foreground "blue")
|
||||
(t
|
||||
(:bold t)))
|
||||
:bold t))
|
||||
"Face used for displaying X-Header headers."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-header-xheader-face 'face-alias 'message-header-xheader)
|
||||
(put 'message-header-xheader-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-header-xheader-face
|
||||
'message-header-xheader "22.1")
|
||||
|
||||
(defface message-separator
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "LightSkyBlue1"))
|
||||
:foreground "LightSkyBlue1")
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "brown"))
|
||||
:foreground "brown")
|
||||
(t
|
||||
(:bold t)))
|
||||
:bold t))
|
||||
"Face used for displaying the separator."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-separator-face 'face-alias 'message-separator)
|
||||
(put 'message-separator-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-separator-face
|
||||
'message-separator "22.1")
|
||||
|
||||
(defface message-cited-text
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "LightPink1"))
|
||||
:foreground "LightPink1")
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "red"))
|
||||
:foreground "red")
|
||||
(t
|
||||
(:bold t)))
|
||||
:bold t))
|
||||
"Face used for displaying cited text names."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-cited-text-face 'face-alias 'message-cited-text)
|
||||
(put 'message-cited-text-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-cited-text-face
|
||||
'message-cited-text "22.1")
|
||||
|
||||
(defface message-mml
|
||||
'((((class color)
|
||||
(background dark))
|
||||
(:foreground "MediumSpringGreen"))
|
||||
:foreground "MediumSpringGreen")
|
||||
(((class color)
|
||||
(background light))
|
||||
(:foreground "ForestGreen"))
|
||||
:foreground "ForestGreen")
|
||||
(t
|
||||
(:bold t)))
|
||||
:bold t))
|
||||
"Face used for displaying MML."
|
||||
:group 'message-faces)
|
||||
;; backward-compatibility alias
|
||||
(put 'message-mml-face 'face-alias 'message-mml)
|
||||
(put 'message-mml-face 'obsolete-face "22.1")
|
||||
(define-obsolete-face-alias 'message-mml-face
|
||||
'message-mml "22.1")
|
||||
|
||||
(defun message-font-lock-make-header-matcher (regexp)
|
||||
(let ((form
|
||||
|
|
|
|||
|
|
@ -370,8 +370,8 @@ commands in `hfy-etags-cmd-alist'."
|
|||
(when (eq (call-process hfy-etags-bin nil t nil "--version") 0)
|
||||
(goto-char (point-min))
|
||||
(cond
|
||||
((looking-at-p "exube") "exuberant ctags")
|
||||
((looking-at-p "GNU E") "emacs etags")))
|
||||
((search-forward "exube" nil t) "exuberant ctags")
|
||||
((search-forward "GNU E" nil t) "emacs etags")))
|
||||
;; Return nil if the etags binary isn't executable (Bug#25468).
|
||||
(file-error nil))))
|
||||
|
||||
|
|
@ -426,7 +426,7 @@ Some valid class specification elements are:\n
|
|||
(type lucid)
|
||||
Multiple values for a tag may be combined, to indicate that any one or more
|
||||
of these values in the specification key constitutes a match, eg:\n
|
||||
((class color grayscale) (type tty)) would match any of:\n
|
||||
\((class color grayscale) (type tty)) would match any of:\n
|
||||
((class color))
|
||||
((class grayscale))
|
||||
((class color grayscale))
|
||||
|
|
|
|||
|
|
@ -305,6 +305,7 @@ temporary file name (typically generated by pnqnq)"
|
|||
|
||||
(defcustom image-dired-cmd-optipng-program (executable-find "optipng")
|
||||
"The file name of the `optipng' program."
|
||||
:version "26.1"
|
||||
:type '(choice (const :tag "Not Set" nil) file)
|
||||
:group 'image-dired)
|
||||
|
||||
|
|
@ -312,6 +313,7 @@ temporary file name (typically generated by pnqnq)"
|
|||
"Arguments passed to `image-dired-optipng-program'.
|
||||
Available format specifiers are described in
|
||||
`image-dired-cmd-create-thumbnail-options'."
|
||||
:version "26.1"
|
||||
:type '(repeat (string :tag "Argument"))
|
||||
:link '(url-link "man:optipng(1)")
|
||||
:group 'image-dired)
|
||||
|
|
|
|||
|
|
@ -2493,7 +2493,17 @@ This function is intended to be added to `auto-coding-functions'."
|
|||
(let* ((match (match-string 1))
|
||||
(sym (intern (downcase match))))
|
||||
(if (coding-system-p sym)
|
||||
sym
|
||||
;; If the encoding tag is UTF-8 and the buffer's
|
||||
;; encoding is one of the variants of UTF-8, use the
|
||||
;; buffer's encoding. This allows, e.g., saving an
|
||||
;; XML file as UTF-8 with BOM when the tag says UTF-8.
|
||||
(let ((sym-type (coding-system-type sym))
|
||||
(bfcs-type
|
||||
(coding-system-type buffer-file-coding-system)))
|
||||
(if (and (coding-system-equal 'utf-8 sym-type)
|
||||
(coding-system-equal 'utf-8 bfcs-type))
|
||||
buffer-file-coding-system
|
||||
sym))
|
||||
(message "Warning: unknown coding system \"%s\"" match)
|
||||
nil))
|
||||
;; Files without an encoding tag should be UTF-8. But users
|
||||
|
|
@ -2506,7 +2516,8 @@ This function is intended to be added to `auto-coding-functions'."
|
|||
(coding-system-base
|
||||
(detect-coding-region (point-min) size t)))))
|
||||
;; Pure ASCII always comes back as undecided.
|
||||
(if (memq detected '(utf-8 undecided))
|
||||
(if (memq detected
|
||||
'(utf-8 'utf-8-with-signature 'utf-8-hfs undecided))
|
||||
'utf-8
|
||||
(warn "File contents detected as %s.
|
||||
Consider adding an encoding attribute to the xml declaration,
|
||||
|
|
|
|||
|
|
@ -2294,8 +2294,8 @@ It must accept a buffer as its only required argument.")
|
|||
(define-minor-mode menu-bar-mode
|
||||
"Toggle display of a menu bar on each frame (Menu Bar mode).
|
||||
With a prefix argument ARG, enable Menu Bar mode if ARG is
|
||||
positive, and disable it otherwise. If called from Lisp, enable
|
||||
Menu Bar mode if ARG is omitted or nil.
|
||||
positive, and disable it otherwise. If called from Lisp, also
|
||||
enable Menu Bar mode if ARG is omitted or nil.
|
||||
|
||||
This command applies to all frames that exist and frames to be
|
||||
created in the future."
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ For the meaning of the rest of the parameters, see `gnutls-boot-parameters'."
|
|||
|
||||
TYPE is `gnutls-x509pki' (default) or `gnutls-anon'. Use nil for the default.
|
||||
HOSTNAME is the remote hostname. It must be a valid string.
|
||||
PRIORITY-STRING is as per the GnuTLS docs, default is \"NORMAL\".
|
||||
PRIORITY-STRING is as per the GnuTLS docs, default is based on \"NORMAL\".
|
||||
TRUSTFILES is a list of CA bundles. It defaults to `gnutls-trustfiles'.
|
||||
CRLFILES is a list of CRL files.
|
||||
KEYLIST is an alist of (client key file, client cert file) pairs.
|
||||
|
|
@ -265,11 +265,11 @@ defaults to GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT."
|
|||
(priority-string (or priority-string
|
||||
(cond
|
||||
((eq type 'gnutls-anon)
|
||||
"NORMAL:+ANON-DH:!ARCFOUR-128")
|
||||
"NORMAL:+ANON-DH:!ARCFOUR-128:%DUMBFW")
|
||||
((eq type 'gnutls-x509pki)
|
||||
(if gnutls-algorithm-priority
|
||||
(upcase gnutls-algorithm-priority)
|
||||
"NORMAL")))))
|
||||
"NORMAL:%DUMBFW")))))
|
||||
(verify-error (or verify-error
|
||||
;; this uses the value of `gnutls-verify-error'
|
||||
(cond
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ When selecting a viewer for a given MIME type, the first viewer
|
|||
in this list with a matching MIME-TYPE and successful TEST is
|
||||
selected. Only if none matches, the standard `mailcap-mime-data'
|
||||
is consulted."
|
||||
:version "26.1"
|
||||
:type '(repeat
|
||||
(list
|
||||
(choice (function :tag "Function or mode")
|
||||
|
|
|
|||
|
|
@ -64,9 +64,12 @@ considered to be running if the newsticker timer list is not empty."
|
|||
"Aggregator for RSS and Atom feeds."
|
||||
:group 'applications)
|
||||
|
||||
;; Hard-coding URLs like this is a recipe for propagating obsolete info.
|
||||
(defconst newsticker--raw-url-list-defaults
|
||||
'(("CNET News.com"
|
||||
"http://export.cnet.com/export/feeds/news/rss/1,11176,,00.xml")
|
||||
'(
|
||||
;; 2017/12: no response.
|
||||
;;; ("CNET News.com"
|
||||
;;; "http://export.cnet.com/export/feeds/news/rss/1,11176,,00.xml")
|
||||
("Debian Security Advisories"
|
||||
"http://www.debian.org/security/dsa.en.rdf")
|
||||
("Debian Security Advisories - Long format"
|
||||
|
|
@ -76,23 +79,24 @@ considered to be running if the newsticker timer list is not empty."
|
|||
nil
|
||||
3600)
|
||||
("LWN (Linux Weekly News)"
|
||||
"http://lwn.net/headlines/rss")
|
||||
("NY Times: Technology"
|
||||
"http://partners.userland.com/nytRss/technology.xml")
|
||||
("NY Times"
|
||||
"http://partners.userland.com/nytRss/nytHomepage.xml")
|
||||
"https://lwn.net/headlines/rss")
|
||||
;; Not updated since 2010.
|
||||
;;; ("NY Times: Technology"
|
||||
;;; "http://www.nytimes.com/services/xml/rss/userland/Technology.xml")
|
||||
;;; ("NY Times"
|
||||
;;; "http://www.nytimes.com/services/xml/rss/userland/HomePage.xml")
|
||||
("Quote of the day"
|
||||
"http://www.quotationspage.com/data/qotd.rss"
|
||||
"http://feeds.feedburner.com/quotationspage/qotd"
|
||||
"07:00"
|
||||
86400)
|
||||
("The Register"
|
||||
"http://www.theregister.co.uk/tonys/slashdot.rdf")
|
||||
"https://www.theregister.co.uk/headlines.rss")
|
||||
("slashdot"
|
||||
"http://slashdot.org/index.rss"
|
||||
"http://rss.slashdot.org/Slashdot/slashdot"
|
||||
nil
|
||||
3600) ;/. will ban you if under 3600 seconds!
|
||||
("Wired News"
|
||||
"http://www.wired.com/news_drop/netcenter/netcenter.rdf")
|
||||
"https://www.wired.com/feed/rss")
|
||||
("Heise News (german)"
|
||||
"http://www.heise.de/newsticker/heise.rdf")
|
||||
("Tagesschau (german)"
|
||||
|
|
@ -158,7 +162,7 @@ value effective."
|
|||
|
||||
(defcustom newsticker-url-list-defaults
|
||||
'(("Emacs Wiki"
|
||||
"http://www.emacswiki.org/cgi-bin/wiki.pl?action=rss"
|
||||
"https://www.emacswiki.org/emacs?action=rss"
|
||||
nil
|
||||
3600))
|
||||
"A customizable list of news feeds to select from.
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ cid: URL as the argument.")
|
|||
"Alist of tag/function pairs used to alter how shr renders certain tags.
|
||||
For instance, eww uses this to alter rendering of title, forms
|
||||
and other things:
|
||||
((title . eww-tag-title)
|
||||
\((title . eww-tag-title)
|
||||
(form . eww-tag-form)
|
||||
...)")
|
||||
|
||||
|
|
@ -591,9 +591,14 @@ size, and full-buffer size."
|
|||
(defun shr-string-pixel-width (string)
|
||||
(if (not shr-use-fonts)
|
||||
(length string)
|
||||
(with-temp-buffer
|
||||
(insert string)
|
||||
(shr-pixel-column))))
|
||||
;; Save and restore point across with-temp-buffer, since
|
||||
;; shr-pixel-column uses save-window-excursion, which can reset
|
||||
;; point to 1.
|
||||
(let ((pt (point)))
|
||||
(with-temp-buffer
|
||||
(insert string)
|
||||
(shr-pixel-column))
|
||||
(goto-char pt))))
|
||||
|
||||
(defsubst shr--translate-insertion-chars ()
|
||||
;; Remove soft hyphens.
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
|
||||
;;; Variables also used at compile time.
|
||||
|
||||
(defconst c-version "5.33"
|
||||
(defconst c-version "5.33.1"
|
||||
"CC Mode version number.")
|
||||
|
||||
(defconst c-version-sym (intern c-version))
|
||||
|
|
|
|||
|
|
@ -7572,8 +7572,8 @@ comment at the start of cc-engine.el for more info."
|
|||
|
||||
;; Skip leading type modifiers. If any are found we know it's a
|
||||
;; prefix of a type.
|
||||
(when c-opt-type-modifier-key ; e.g. "const" "volatile", but NOT "typedef"
|
||||
(while (looking-at c-opt-type-modifier-key)
|
||||
(when c-opt-type-modifier-prefix-key ; e.g. "const" "volatile", but NOT "typedef"
|
||||
(while (looking-at c-opt-type-modifier-prefix-key)
|
||||
(goto-char (match-end 1))
|
||||
(c-forward-syntactic-ws)
|
||||
(setq res 'prefix)))
|
||||
|
|
@ -8167,9 +8167,9 @@ comment at the start of cc-engine.el for more info."
|
|||
;; If a declaration is parsed:
|
||||
;;
|
||||
;; The point is left at the first token after the first complete
|
||||
;; declarator, if there is one. The return value is a list of 4 elements,
|
||||
;; declarator, if there is one. The return value is a list of 5 elements,
|
||||
;; where the first is the position of the first token in the declarator.
|
||||
;; (See below for the other three.)
|
||||
;; (See below for the other four.)
|
||||
;; Some examples:
|
||||
;;
|
||||
;; void foo (int a, char *b) stuff ...
|
||||
|
|
@ -8210,7 +8210,9 @@ comment at the start of cc-engine.el for more info."
|
|||
;;
|
||||
;; The third element of the return value is non-nil when the declaration
|
||||
;; parsed might be an expression. The fourth element is the position of
|
||||
;; the start of the type identifier.
|
||||
;; the start of the type identifier. The fifth element is t if either
|
||||
;; CONTEXT was 'top, or the declaration is detected to be treated as top
|
||||
;; level (e.g. with the keyword "extern").
|
||||
;;
|
||||
;; If a cast is parsed:
|
||||
;;
|
||||
|
|
@ -8308,6 +8310,9 @@ comment at the start of cc-engine.el for more info."
|
|||
;; Set when the symbol before `preceding-token-end' is known to
|
||||
;; terminate the previous construct, or when we're at point-min.
|
||||
at-decl-start
|
||||
;; Set when we have encountered a keyword (e.g. "extern") which
|
||||
;; causes the following declaration to be treated as though top-level.
|
||||
make-top
|
||||
;; Save `c-record-type-identifiers' and
|
||||
;; `c-record-ref-identifiers' since ranges are recorded
|
||||
;; speculatively and should be thrown away if it turns out
|
||||
|
|
@ -8339,7 +8344,9 @@ comment at the start of cc-engine.el for more info."
|
|||
|
||||
(cond
|
||||
;; Look for a specifier keyword clause.
|
||||
((or (looking-at c-prefix-spec-kwds-re)
|
||||
((or (and (looking-at c-make-top-level-key)
|
||||
(setq make-top t))
|
||||
(looking-at c-prefix-spec-kwds-re)
|
||||
(and (c-major-mode-is 'java-mode)
|
||||
(looking-at "@[A-Za-z0-9]+")))
|
||||
(save-match-data
|
||||
|
|
@ -8609,7 +8616,7 @@ comment at the start of cc-engine.el for more info."
|
|||
;; construct here in C, since we want to recognize this as a
|
||||
;; typeless function declaration.
|
||||
(not (and (c-major-mode-is 'c-mode)
|
||||
(eq context 'top)
|
||||
(or (eq context 'top) make-top)
|
||||
(eq (char-after) ?\)))))
|
||||
(if (eq (char-after) ?\))
|
||||
(when (> paren-depth 0)
|
||||
|
|
@ -8657,7 +8664,7 @@ comment at the start of cc-engine.el for more info."
|
|||
;; Recognize a top-level typeless
|
||||
;; function declaration in C.
|
||||
(and (c-major-mode-is 'c-mode)
|
||||
(eq context 'top)
|
||||
(or (eq context 'top) make-top)
|
||||
(eq (char-after) ?\))))))))
|
||||
(setq pos (c-up-list-forward (point)))
|
||||
(eq (char-before pos) ?\)))
|
||||
|
|
@ -8914,6 +8921,7 @@ comment at the start of cc-engine.el for more info."
|
|||
(when (and got-identifier
|
||||
(looking-at c-after-suffixed-type-decl-key)
|
||||
(or (eq context 'top)
|
||||
make-top
|
||||
(and (eq context nil)
|
||||
(match-beginning 1)))
|
||||
(if (and got-parens
|
||||
|
|
@ -9080,7 +9088,7 @@ comment at the start of cc-engine.el for more info."
|
|||
;; CASE 19
|
||||
(or (eq context 'decl)
|
||||
(and (c-major-mode-is 'c-mode)
|
||||
(eq context 'top))))))
|
||||
(or (eq context 'top) make-top))))))
|
||||
|
||||
;; The point is now after the type decl expression.
|
||||
|
||||
|
|
@ -9185,7 +9193,8 @@ comment at the start of cc-engine.el for more info."
|
|||
(and (or at-type-decl at-typedef)
|
||||
(cons at-type-decl at-typedef))
|
||||
maybe-expression
|
||||
type-start))
|
||||
type-start
|
||||
(or (eq context 'top) make-top)))
|
||||
|
||||
(t
|
||||
;; False alarm. Restore the recorded ranges.
|
||||
|
|
@ -10431,7 +10440,7 @@ comment at the start of cc-engine.el for more info."
|
|||
c-decl-block-key))
|
||||
(braceassignp 'dontknow)
|
||||
inexpr-brace-list bufpos macro-start res pos after-type-id-pos
|
||||
in-paren)
|
||||
in-paren parens-before-brace)
|
||||
|
||||
(setq res (c-backward-token-2 1 t lim))
|
||||
;; Checks to do only on the first sexp before the brace.
|
||||
|
|
@ -10449,6 +10458,9 @@ comment at the start of cc-engine.el for more info."
|
|||
((and (looking-at c-symbol-start)
|
||||
(not (looking-at c-keywords-regexp)))
|
||||
(setq after-type-id-pos (point)))
|
||||
((eq (char-after) ?\()
|
||||
(setq parens-before-brace t)
|
||||
nil)
|
||||
(t nil))
|
||||
(save-excursion
|
||||
(cond
|
||||
|
|
@ -10497,6 +10509,14 @@ comment at the start of cc-engine.el for more info."
|
|||
;; Single identifier between '(' and '{'. We have a bracelist.
|
||||
(cons after-type-id-pos 'in-paren))
|
||||
|
||||
;; Are we at the parens of a C++ lambda expression?
|
||||
((and parens-before-brace
|
||||
(save-excursion
|
||||
(and
|
||||
(zerop (c-backward-token-2 1 t lim))
|
||||
(c-looking-at-c++-lambda-capture-list))))
|
||||
nil) ; a lambda expression isn't a brace list.
|
||||
|
||||
(t
|
||||
(goto-char pos)
|
||||
;; Checks to do on all sexps before the brace, up to the
|
||||
|
|
|
|||
|
|
@ -1251,6 +1251,17 @@ casts and declarations are fontified. Used on level 2 and higher."
|
|||
;; Got a cached hit in some other type of arglist.
|
||||
(type
|
||||
(cons 'arglist t))
|
||||
;; We're at a C++ uniform initialization.
|
||||
((and (c-major-mode-is 'c++-mode)
|
||||
(eq (char-before match-pos) ?\()
|
||||
(save-excursion
|
||||
(goto-char match-pos)
|
||||
(and
|
||||
(zerop (c-backward-token-2 2))
|
||||
(looking-at c-identifier-start)
|
||||
(c-got-face-at (point)
|
||||
'(font-lock-variable-name-face)))))
|
||||
(cons 'not-decl nil))
|
||||
((and not-front-decl
|
||||
;; The point is within the range of a previously
|
||||
;; encountered type decl expression, so the arglist
|
||||
|
|
@ -1589,7 +1600,8 @@ casts and declarations are fontified. Used on level 2 and higher."
|
|||
(setq max-type-decl-end (point))))
|
||||
(goto-char start-pos)
|
||||
(c-font-lock-single-decl limit decl-or-cast match-pos
|
||||
context toplev))
|
||||
context
|
||||
(or toplev (nth 4 decl-or-cast))))
|
||||
|
||||
(t t))))
|
||||
|
||||
|
|
|
|||
|
|
@ -1925,16 +1925,32 @@ on one of the `*-decl-kwds' lists."
|
|||
t (c-make-keywords-re t (c-lang-const c-type-prefix-kwds)))
|
||||
(c-lang-defvar c-type-prefix-key (c-lang-const c-type-prefix-key))
|
||||
|
||||
(c-lang-defconst c-type-modifier-kwds
|
||||
"Type modifier keywords. These can occur almost anywhere in types
|
||||
but they don't build a type of themselves. Unlike the keywords on
|
||||
`c-primitive-type-kwds', they are fontified with the keyword face and
|
||||
not the type face."
|
||||
(c-lang-defconst c-type-modifier-prefix-kwds
|
||||
"Type modifier keywords which can appear in front of a type. These can
|
||||
also occur almost anywhere in types but they don't build a type of
|
||||
themselves. Unlike the keywords on `c-primitive-type-kwds', they are
|
||||
fontified with the keyword face and not the type face."
|
||||
t nil
|
||||
c '("const" "restrict" "volatile")
|
||||
c++ '("const" "noexcept" "volatile" "throw")
|
||||
c++ '("const" "noexcept" "volatile")
|
||||
objc '("const" "volatile"))
|
||||
|
||||
(c-lang-defconst c-opt-type-modifier-prefix-key
|
||||
;; Adorned regexp matching `c-type-modifier-prefix-kwds', or nil in
|
||||
;; languages without such keywords.
|
||||
t (and (c-lang-const c-type-modifier-prefix-kwds)
|
||||
(c-make-keywords-re t (c-lang-const c-type-modifier-prefix-kwds))))
|
||||
(c-lang-defvar c-opt-type-modifier-prefix-key
|
||||
(c-lang-const c-opt-type-modifier-prefix-key))
|
||||
|
||||
(c-lang-defconst c-type-modifier-kwds
|
||||
"Type modifier keywords. These can occur almost anywhere in types except
|
||||
at the start, but they don't build a type of themselves. Unlike the keywords
|
||||
on `c-primitive-type-kwds', they are fontified with the keyword face and not
|
||||
the type face."
|
||||
t (c-lang-const c-type-modifier-prefix-kwds)
|
||||
c++ (append (c-lang-const c-type-modifier-prefix-kwds) '("throw")))
|
||||
|
||||
(c-lang-defconst c-opt-type-modifier-key
|
||||
;; Adorned regexp matching `c-type-modifier-kwds', or nil in
|
||||
;; languages without such keywords.
|
||||
|
|
@ -2355,6 +2371,16 @@ construct it's part of continues."
|
|||
t nil
|
||||
(c c++ objc) '("extern"))
|
||||
|
||||
(c-lang-defconst c-make-top-level-kwds
|
||||
"Keywords which make declarations they introduce be handled as top-level."
|
||||
t nil
|
||||
(c c++ objc) '("extern"))
|
||||
|
||||
(c-lang-defconst c-make-top-level-key
|
||||
;; A regexp which matches any `c-make-top-level-kwds' keyword.
|
||||
t (c-make-keywords-re t (c-lang-const c-make-top-level-kwds)))
|
||||
(c-lang-defvar c-make-top-level-key (c-lang-const c-make-top-level-key))
|
||||
|
||||
(c-lang-defconst c-type-list-kwds
|
||||
"Keywords that may be followed by a comma separated list of type
|
||||
identifiers, where each optionally can be prefixed by keywords. (Can
|
||||
|
|
|
|||
|
|
@ -1641,8 +1641,9 @@ In the fontification engine, it is sometimes impossible to determine
|
|||
whether a construct is a declaration or an expression. This happens
|
||||
particularly in C++, due to ambiguities in the language. When such a
|
||||
construct is like \"foo * bar\" or \"foo &bar\", and this variable is non-nil
|
||||
(the default), the construct will be fontified as a declaration if there is
|
||||
\(the default), the construct will be fontified as a declaration if there is
|
||||
white space either before or after the operator, but not both."
|
||||
:version "26.1"
|
||||
:type 'boolean
|
||||
:group 'c)
|
||||
|
||||
|
|
@ -1658,6 +1659,7 @@ identifiers.
|
|||
If you change this variable's value, call the function
|
||||
`c-make-noise-macro-regexps' to set the necessary internal variables (or do
|
||||
this implicitly by reinitializing C/C++/Objc Mode on any buffer)."
|
||||
:version "26.1"
|
||||
:type '(repeat :tag "List of names" string)
|
||||
:group 'c)
|
||||
(put 'c-noise-macro-names 'safe-local-variable #'c-string-list-p)
|
||||
|
|
@ -1666,7 +1668,8 @@ this implicitly by reinitializing C/C++/Objc Mode on any buffer)."
|
|||
"A list of names of macros \(or compiler extensions like \"__attribute__\")
|
||||
which optionally have arguments in parentheses, and which expand to nothing.
|
||||
These are recognized by CC Mode only in declarations."
|
||||
:type '(regexp :tag "List of names (possibly empty)" string)
|
||||
:version "26.1"
|
||||
:type '(repeat :tag "List of names (possibly empty)" string)
|
||||
:group 'c)
|
||||
(put 'c-noise-macro-with-parens-names 'safe-local-variable #'c-string-list-p)
|
||||
|
||||
|
|
|
|||
|
|
@ -1746,13 +1746,7 @@ Returns the compilation buffer created."
|
|||
(let ((process-environment
|
||||
(append
|
||||
compilation-environment
|
||||
(if (if (boundp 'system-uses-terminfo);`If' for compiler warning.
|
||||
system-uses-terminfo)
|
||||
(list "TERM=dumb" "TERMCAP="
|
||||
(format "COLUMNS=%d" (window-width)))
|
||||
(list "TERM=emacs"
|
||||
(format "TERMCAP=emacs:co#%d:tc=unknown:"
|
||||
(window-width))))
|
||||
(comint-term-environment)
|
||||
(list (format "INSIDE_EMACS=%s,compile" emacs-version))
|
||||
(copy-sequence process-environment))))
|
||||
(set (make-local-variable 'compilation-arguments)
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ If nil, never start checking buffer automatically like this."
|
|||
(defcustom flymake-start-on-flymake-mode t
|
||||
"Start syntax check when `flymake-mode' is enabled.
|
||||
Specifically, start it when the buffer is actually displayed."
|
||||
:version "26.1"
|
||||
:type 'boolean)
|
||||
|
||||
(define-obsolete-variable-alias 'flymake-start-syntax-check-on-find-file
|
||||
|
|
@ -141,6 +142,7 @@ Specifically, start it when the buffer is actually displayed."
|
|||
|
||||
(defcustom flymake-wrap-around t
|
||||
"If non-nil, moving to errors wraps around buffer boundaries."
|
||||
:version "26.1"
|
||||
:type 'boolean)
|
||||
|
||||
(when (fboundp 'define-fringe-bitmap)
|
||||
|
|
|
|||
|
|
@ -162,6 +162,7 @@ Customize or call the function `grep-apply-setting'."
|
|||
(defcustom grep-use-null-filename-separator 'auto-detect
|
||||
"If non-nil, use `grep's `--null' option.
|
||||
This is done to disambiguate file names in `grep's output."
|
||||
:version "26.1"
|
||||
:type '(choice (const :tag "Do Not Use `--null'" nil)
|
||||
(const :tag "Use `--null'" t)
|
||||
(other :tag "Not Set" auto-detect))
|
||||
|
|
|
|||
|
|
@ -477,6 +477,7 @@ This applies to function movement, marking, and so on."
|
|||
|
||||
(defcustom js-indent-align-list-continuation t
|
||||
"Align continuation of non-empty ([{ lines in `js-mode'."
|
||||
:version "26.1"
|
||||
:type 'boolean
|
||||
:group 'js)
|
||||
|
||||
|
|
|
|||
|
|
@ -587,6 +587,7 @@ create a new comment."
|
|||
This is a non empty list of strings, the checker tool possibly
|
||||
followed by required arguments. Once launched it will receive
|
||||
the Perl source to be checked as its standard input."
|
||||
:version "26.1"
|
||||
:group 'perl
|
||||
:type '(repeat string))
|
||||
|
||||
|
|
|
|||
|
|
@ -5165,6 +5165,7 @@ This is a non empty list of strings, the checker tool possibly followed by
|
|||
required arguments. Once launched it will receive the Python source to be
|
||||
checked as its standard input.
|
||||
To use `flake8' you would set this to (\"flake8\" \"-\")."
|
||||
:version "26.1"
|
||||
:group 'python-flymake
|
||||
:type '(repeat string))
|
||||
|
||||
|
|
@ -5186,6 +5187,7 @@ MESSAGE'th gives the message text itself.
|
|||
If COLUMN or TYPE are nil or that index didn't match, that
|
||||
information is not present on the matched line and a default will
|
||||
be used."
|
||||
:version "26.1"
|
||||
:group 'python-flymake
|
||||
:type '(list regexp
|
||||
(integer :tag "Line's index")
|
||||
|
|
@ -5209,6 +5211,7 @@ For example, when using `flake8' a possible configuration could be:
|
|||
(\"^[EW][0-9]+\" . :note))
|
||||
|
||||
By default messages are considered errors."
|
||||
:version "26.1"
|
||||
:group 'python-flymake
|
||||
:type `(alist :key-type (regexp)
|
||||
:value-type (symbol)))
|
||||
|
|
|
|||
|
|
@ -2314,12 +2314,14 @@ See `font-lock-syntax-table'.")
|
|||
(defcustom ruby-flymake-use-rubocop-if-available t
|
||||
"Non-nil to use the Rubocop Flymake backend.
|
||||
Only takes effect if Rubocop is installed."
|
||||
:version "26.1"
|
||||
:type 'boolean
|
||||
:group 'ruby
|
||||
:safe 'booleanp)
|
||||
|
||||
(defcustom ruby-rubocop-config ".rubocop.yml"
|
||||
"Configuration file for `ruby-flymake-rubocop'."
|
||||
:version "26.1"
|
||||
:type 'string
|
||||
:group 'ruby
|
||||
:safe 'stringp)
|
||||
|
|
|
|||
|
|
@ -764,14 +764,14 @@ mode is experimental."
|
|||
:version "24.1" ; rev670
|
||||
:group 'verilog-mode-actions
|
||||
:type 'boolean)
|
||||
(put 'verilog-auto-declare-nettype 'safe-local-variable `stringp)
|
||||
(put 'verilog-auto-declare-nettype 'safe-local-variable 'stringp)
|
||||
|
||||
(defcustom verilog-auto-wire-comment t
|
||||
"Non-nil indicates to insert to/from comments with `verilog-auto-wire' etc."
|
||||
:version "25.1"
|
||||
:group 'verilog-mode-actions
|
||||
:type 'boolean)
|
||||
(put 'verilog-auto-wire-comment 'safe-local-variable `verilog-booleanp)
|
||||
(put 'verilog-auto-wire-comment 'safe-local-variable 'verilog-booleanp)
|
||||
|
||||
(defcustom verilog-auto-wire-type nil
|
||||
"Non-nil specifies the data type to use with `verilog-auto-wire' etc.
|
||||
|
|
@ -781,8 +781,8 @@ this is generally only appropriate when making a non-SystemVerilog wrapper
|
|||
containing SystemVerilog cells."
|
||||
:version "24.1" ; rev673
|
||||
:group 'verilog-mode-actions
|
||||
:type 'string)
|
||||
(put 'verilog-auto-wire-type 'safe-local-variable `stringp)
|
||||
:type '(choice (const nil) string))
|
||||
(put 'verilog-auto-wire-type 'safe-local-variable 'stringp)
|
||||
|
||||
(defcustom verilog-auto-endcomments t
|
||||
"Non-nil means insert a comment /* ... */ after `end's.
|
||||
|
|
|
|||
|
|
@ -1037,7 +1037,7 @@ This recognizes CSS-color-4 extensions."
|
|||
STR is the incoming CSS hex color.
|
||||
This function simply drops any transparency."
|
||||
;; Either #RGB or #RRGGBB, drop the "A" or "AA".
|
||||
(if (> (length str) 4)
|
||||
(if (> (length str) 5)
|
||||
(substring str 0 7)
|
||||
(substring str 0 4)))
|
||||
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@
|
|||
|
||||
(defgroup less-css nil
|
||||
"Less CSS mode."
|
||||
:version "26.1"
|
||||
:prefix "less-css-"
|
||||
:group 'css)
|
||||
|
||||
|
|
@ -105,7 +106,7 @@ Use \"-x\" to minify output."
|
|||
This path is expanded relative to the directory of the Less file
|
||||
using `expand-file-name', so both relative and absolute paths
|
||||
will work as expected."
|
||||
:type 'directory)
|
||||
:type '(choice (const :tag "Same as Less file" nil) directory))
|
||||
;;;###autoload
|
||||
(put 'less-css-output-directory 'safe-local-variable 'stringp)
|
||||
|
||||
|
|
@ -115,7 +116,7 @@ This can be also be set to a full path, or a relative path. If
|
|||
the path is relative, it will be relative to the value of
|
||||
`less-css-output-dir', if set, or the current directory by
|
||||
default."
|
||||
:type 'file)
|
||||
:type '(choice (const :tag "Default" nil) file))
|
||||
(make-variable-buffer-local 'less-css-output-file-name)
|
||||
|
||||
(defcustom less-css-input-file-name nil
|
||||
|
|
@ -131,7 +132,7 @@ variables.
|
|||
This can be also be set to a full path, or a relative path. If
|
||||
the path is relative, it will be relative to the current
|
||||
directory by default."
|
||||
:type 'file)
|
||||
:type '(choice (const nil) file))
|
||||
;;;###autoload
|
||||
(put 'less-css-input-file-name 'safe-local-variable 'stringp)
|
||||
(make-variable-buffer-local 'less-css-input-file-name)
|
||||
|
|
|
|||
|
|
@ -266,12 +266,14 @@ measured relative to that of the normal text."
|
|||
|
||||
(defcustom tex-chktex-program "chktex"
|
||||
"ChkTeX executable to use for linting TeX files."
|
||||
:version "26.1"
|
||||
:type 'string
|
||||
:link '(url-link "man:chktex(1)")
|
||||
:group 'tex-flymake)
|
||||
|
||||
(defcustom tex-chktex-extra-flags nil
|
||||
"Extra command line flags for `tex-chktex-program'."
|
||||
:version "26.1"
|
||||
:type '(repeat string)
|
||||
:group 'tex-flymake)
|
||||
|
||||
|
|
@ -1012,9 +1014,10 @@ Inherits `shell-mode-map' with a few additions.")
|
|||
;; This is a) ugly, and b) cheating, but this was the last
|
||||
;; remaining warning from byte-compiling all of Emacs...
|
||||
(eval-when-compile
|
||||
(setq byte-compile-function-environment
|
||||
(delq (assq 'tex-mode byte-compile-function-environment)
|
||||
byte-compile-function-environment)))
|
||||
(if (boundp 'byte-compile-function-environment)
|
||||
(setq byte-compile-function-environment
|
||||
(delq (assq 'tex-mode byte-compile-function-environment)
|
||||
byte-compile-function-environment))))
|
||||
|
||||
;;;###autoload
|
||||
(defun tex-mode ()
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@ If ASK is nil, perform replace without asking user for confirmation.
|
|||
|
||||
Returns (count . response) cons where count is number of string
|
||||
replacements done and response is one of symbols: t (all right), nil
|
||||
(quit), force (replace without further questions)."
|
||||
\(quit), force (replace without further questions)."
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(let ((regexp tildify-pattern)
|
||||
|
|
|
|||
|
|
@ -173,7 +173,9 @@ If the value is t instead of an alist, use the value of
|
|||
`legacy-style-world-list' otherwise."
|
||||
|
||||
:group 'display-time
|
||||
:type '(repeat (list string string))
|
||||
:type '(choice (const :tag "Default" t)
|
||||
(repeat :tag "List of zones and labels"
|
||||
(list (string :tag "Zone") (string :tag "Label"))))
|
||||
:version "23.1")
|
||||
|
||||
(defun time--display-world-list ()
|
||||
|
|
|
|||
|
|
@ -33,11 +33,6 @@
|
|||
|
||||
;;;
|
||||
|
||||
(defgroup cvs-status nil
|
||||
"Major mode for browsing `cvs status' output."
|
||||
:group 'pcl-cvs
|
||||
:prefix "cvs-status-")
|
||||
|
||||
(easy-mmode-defmap cvs-status-mode-map
|
||||
'(("n" . next-line)
|
||||
("p" . previous-line)
|
||||
|
|
|
|||
|
|
@ -2005,9 +2005,6 @@ For use in `add-log-current-defun-function'."
|
|||
(replace-match (cdr (assq (char-before) '((?+ . "-") (?> . "<"))))))
|
||||
)
|
||||
|
||||
(declare-function smerge-refine-subst "smerge-mode"
|
||||
(beg1 end1 beg2 end2 props-c &optional preproc props-r props-a))
|
||||
|
||||
(defun diff--forward-while-leading-char (char bound)
|
||||
"Move point until reaching a line not starting with CHAR.
|
||||
Return new point, if it was moved."
|
||||
|
|
@ -2049,13 +2046,13 @@ Return new point, if it was moved."
|
|||
(diff--forward-while-leading-char ?+ end)
|
||||
(progn (diff--forward-while-leading-char ?\\ end)
|
||||
(setq end-add (point))))
|
||||
(smerge-refine-subst beg-del beg-add beg-add end-add
|
||||
(smerge-refine-regions beg-del beg-add beg-add end-add
|
||||
nil 'diff-refine-preproc props-r props-a)))))
|
||||
(`context
|
||||
(let* ((middle (save-excursion (re-search-forward "^---")))
|
||||
(other middle))
|
||||
(while (re-search-forward "^\\(?:!.*\n\\)+" middle t)
|
||||
(smerge-refine-subst (match-beginning 0) (match-end 0)
|
||||
(smerge-refine-regions (match-beginning 0) (match-end 0)
|
||||
(save-excursion
|
||||
(goto-char other)
|
||||
(re-search-forward "^\\(?:!.*\n\\)+" end)
|
||||
|
|
@ -2070,7 +2067,7 @@ Return new point, if it was moved."
|
|||
(let ((beg1 (1+ (point))))
|
||||
(when (re-search-forward "^---.*\n" end t)
|
||||
;; It's a combined add&remove, so there's something to do.
|
||||
(smerge-refine-subst beg1 (match-beginning 0)
|
||||
(smerge-refine-regions beg1 (match-beginning 0)
|
||||
(match-end 0) end
|
||||
nil 'diff-refine-preproc props-r props-a)))))))))
|
||||
|
||||
|
|
|
|||
|
|
@ -3171,11 +3171,9 @@ See also `auto-save-file-name-p'."
|
|||
(setq limit (1+ (match-end 0)))))
|
||||
s)
|
||||
|
||||
;; Metacharacters that have to be protected from the shell when executing
|
||||
;; a diff/diff3 command.
|
||||
(defcustom emerge-metachars nil
|
||||
"Obsolete, emerge now uses `shell-quote-argument'."
|
||||
:type 'regexp
|
||||
"No longer used. Emerge now uses `shell-quote-argument'."
|
||||
:type '(choice (const nil) regexp)
|
||||
:group 'emerge)
|
||||
(make-obsolete-variable 'emerge-metachars nil "26.1")
|
||||
|
||||
|
|
|
|||
|
|
@ -919,7 +919,7 @@ Its behavior has mainly two restrictions:
|
|||
after the newline.
|
||||
This only matters if `smerge-refine-ignore-whitespace' is nil.
|
||||
- it needs to be unaffected by changes performed by the `preproc' argument
|
||||
to `smerge-refine-subst'.
|
||||
to `smerge-refine-regions'.
|
||||
This only matters if `smerge-refine-weight-hack' is nil.")
|
||||
|
||||
(defvar smerge-refine-ignore-whitespace t
|
||||
|
|
@ -1188,15 +1188,15 @@ repeating the command will highlight other two parts."
|
|||
(put-text-property (match-beginning 0) (1+ (match-beginning 0))
|
||||
'smerge-refine-part
|
||||
(cons (buffer-chars-modified-tick) part)))
|
||||
(smerge-refine-subst (match-beginning n1) (match-end n1)
|
||||
(smerge-refine-regions (match-beginning n1) (match-end n1)
|
||||
(match-beginning n2) (match-end n2)
|
||||
(if smerge-use-changed-face
|
||||
'((smerge . refine) (face . smerge-refined-change)))
|
||||
'((smerge . refine) (font-lock-face . smerge-refined-change)))
|
||||
nil
|
||||
(unless smerge-use-changed-face
|
||||
'((smerge . refine) (face . smerge-refined-removed)))
|
||||
'((smerge . refine) (font-lock-face . smerge-refined-removed)))
|
||||
(unless smerge-use-changed-face
|
||||
'((smerge . refine) (face . smerge-refined-added))))))
|
||||
'((smerge . refine) (font-lock-face . smerge-refined-added))))))
|
||||
|
||||
(defun smerge-swap ()
|
||||
"Swap the \"Upper\" and the \"Lower\" chunks.
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ within the repository.
|
|||
|
||||
If no list entry produces a useful revision, return `nil'."
|
||||
:type '(repeat (choice
|
||||
(const :tag "Active bookmark" 'bookmark)
|
||||
(const :tag "Active bookmark" builtin-active-bookmark)
|
||||
(string :tag "Hg template")
|
||||
(function :tag "Custom")))
|
||||
:version "26.1"
|
||||
|
|
|
|||
|
|
@ -34,9 +34,9 @@
|
|||
|
||||
;; Faces
|
||||
|
||||
(defgroup vc-state-faces nil
|
||||
(defgroup vc-faces nil
|
||||
"Faces used in the mode line by the VC state indicator."
|
||||
:group 'vc-faces
|
||||
:group 'vc
|
||||
:group 'mode-line
|
||||
:version "25.1")
|
||||
|
||||
|
|
|
|||
|
|
@ -386,9 +386,9 @@ Value is nil if OBJECT is not a buffer or if it has been killed. */)
|
|||
}
|
||||
|
||||
DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0,
|
||||
doc: /* Return a list of all existing live buffers.
|
||||
If the optional arg FRAME is a frame, we return the buffer list in the
|
||||
proper order for that frame: the buffers show in FRAME come first,
|
||||
doc: /* Return a list of all live buffers.
|
||||
If the optional arg FRAME is a frame, return the buffer list in the
|
||||
proper order for that frame: the buffers shown in FRAME come first,
|
||||
followed by the rest of the buffers. */)
|
||||
(Lisp_Object frame)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1481,7 +1481,7 @@ SYMBOL is the variable being changed.
|
|||
NEWVAL is the value it will be changed to.
|
||||
OPERATION is a symbol representing the kind of change, one of: `set',
|
||||
`let', `unlet', `makunbound', and `defvaralias'.
|
||||
WHERE is a buffer if the buffer-local value of the variable being
|
||||
WHERE is a buffer if the buffer-local value of the variable is being
|
||||
changed, nil otherwise.
|
||||
|
||||
All writes to aliases of SYMBOL will call WATCH-FUNCTION too. */)
|
||||
|
|
|
|||
10
src/font.c
10
src/font.c
|
|
@ -5055,10 +5055,10 @@ DEFUN ("font-info", Ffont_info, Sfont_info, 1, 2, 0,
|
|||
doc: /* Return information about a font named NAME on frame FRAME.
|
||||
If FRAME is omitted or nil, use the selected frame.
|
||||
|
||||
The returned value is a vector:
|
||||
The returned value is a vector of 14 elements:
|
||||
[ OPENED-NAME FULL-NAME SIZE HEIGHT BASELINE-OFFSET RELATIVE-COMPOSE
|
||||
DEFAULT-ASCENT MAX-WIDTH ASCENT DESCENT SPACE-WIDTH AVERAGE-WIDTH
|
||||
CAPABILITY ]
|
||||
FILENAME CAPABILITY ]
|
||||
where
|
||||
OPENED-NAME is the name used for opening the font,
|
||||
FULL-NAME is the full name of the font,
|
||||
|
|
@ -5068,12 +5068,12 @@ where
|
|||
RELATIVE-COMPOSE and DEFAULT-ASCENT are the numbers controlling
|
||||
how to compose characters,
|
||||
MAX-WIDTH is the maximum advance width of the font,
|
||||
ASCENT, DESCENT, SPACE-WIDTH, AVERAGE-WIDTH are metrics of the font
|
||||
in pixels,
|
||||
ASCENT, DESCENT, SPACE-WIDTH, and AVERAGE-WIDTH are metrics of
|
||||
the font in pixels,
|
||||
FILENAME is the font file name, a string (or nil if the font backend
|
||||
doesn't provide a file name).
|
||||
CAPABILITY is a list whose first element is a symbol representing the
|
||||
font format, one of x, opentype, truetype, type1, pcf, or bdf.
|
||||
font format, one of `x', `opentype', `truetype', `type1', `pcf', or `bdf'.
|
||||
The remaining elements describe the details of the font capabilities,
|
||||
as follows:
|
||||
|
||||
|
|
|
|||
|
|
@ -1608,6 +1608,8 @@ next_frame (Lisp_Object frame, Lisp_Object minibuf)
|
|||
Lisp_Object f, tail;
|
||||
int passed = 0;
|
||||
|
||||
eassume (CONSP (Vframe_list));
|
||||
|
||||
while (passed < 2)
|
||||
FOR_EACH_FRAME (tail, f)
|
||||
{
|
||||
|
|
@ -1630,6 +1632,8 @@ prev_frame (Lisp_Object frame, Lisp_Object minibuf)
|
|||
{
|
||||
Lisp_Object f, tail, prev = Qnil;
|
||||
|
||||
eassume (CONSP (Vframe_list));
|
||||
|
||||
FOR_EACH_FRAME (tail, f)
|
||||
{
|
||||
if (EQ (frame, f) && !NILP (prev))
|
||||
|
|
@ -1915,6 +1919,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
|
|||
if (f == sf)
|
||||
{
|
||||
Lisp_Object tail;
|
||||
eassume (CONSP (Vframe_list));
|
||||
|
||||
/* Look for another visible frame on the same terminal.
|
||||
Do not call next_frame here because it may loop forever.
|
||||
|
|
|
|||
|
|
@ -1149,8 +1149,7 @@ default_pixels_per_inch_y (void)
|
|||
/* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
|
||||
`for' loop which iterates over the elements of Vframe_list. The
|
||||
loop will set FRAME_VAR, a Lisp_Object, to each frame in
|
||||
Vframe_list in succession and execute the statement. Vframe_list
|
||||
should be nonempty, so the body is executed at least once. LIST_VAR
|
||||
Vframe_list in succession and execute the statement. LIST_VAR
|
||||
should be a Lisp_Object too; it is used to iterate through the
|
||||
Vframe_list. Note that this macro walks over child frames and
|
||||
the tooltip frame as well.
|
||||
|
|
@ -1160,7 +1159,7 @@ default_pixels_per_inch_y (void)
|
|||
something which executes the statement once. */
|
||||
|
||||
#define FOR_EACH_FRAME(list_var, frame_var) \
|
||||
for ((list_var) = (eassume (CONSP (Vframe_list)), Vframe_list); \
|
||||
for ((list_var) = Vframe_list; \
|
||||
(CONSP (list_var) \
|
||||
&& (frame_var = XCAR (list_var), true)); \
|
||||
list_var = XCDR (list_var))
|
||||
|
|
|
|||
28
src/xdisp.c
28
src/xdisp.c
|
|
@ -25087,19 +25087,25 @@ invisible_prop (Lisp_Object propval, Lisp_Object list)
|
|||
}
|
||||
|
||||
DEFUN ("invisible-p", Finvisible_p, Sinvisible_p, 1, 1, 0,
|
||||
doc: /* Non-nil if the property makes the text invisible.
|
||||
POS-OR-PROP can be a marker or number, in which case it is taken to be
|
||||
a position in the current buffer and the value of the `invisible' property
|
||||
is checked; or it can be some other value, which is then presumed to be the
|
||||
value of the `invisible' property of the text of interest.
|
||||
The non-nil value returned can be t for truly invisible text or something
|
||||
else if the text is replaced by an ellipsis. */)
|
||||
(Lisp_Object pos_or_prop)
|
||||
doc: /* Non-nil if text properties at POS cause text there to be currently invisible.
|
||||
POS should be a marker or a buffer position; the value of the `invisible'
|
||||
property at that position in the current buffer is examined.
|
||||
POS can also be the actual value of the `invisible' text or overlay
|
||||
property of the text of interest, in which case the value itself is
|
||||
examined.
|
||||
|
||||
The non-nil value returned can be t for currently invisible text that is
|
||||
entirely hidden on display, or some other non-nil, non-t value if the
|
||||
text is replaced by an ellipsis.
|
||||
|
||||
Note that whether text with `invisible' property is actually hidden on
|
||||
display may depend on `buffer-invisibility-spec', which see. */)
|
||||
(Lisp_Object pos)
|
||||
{
|
||||
Lisp_Object prop
|
||||
= (NATNUMP (pos_or_prop) || MARKERP (pos_or_prop)
|
||||
? Fget_char_property (pos_or_prop, Qinvisible, Qnil)
|
||||
: pos_or_prop);
|
||||
= (NATNUMP (pos) || MARKERP (pos)
|
||||
? Fget_char_property (pos, Qinvisible, Qnil)
|
||||
: pos);
|
||||
int invis = TEXT_PROP_MEANS_INVISIBLE (prop);
|
||||
return (invis == 0 ? Qnil
|
||||
: invis == 1 ? Qt
|
||||
|
|
|
|||
|
|
@ -3671,7 +3671,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
|
|||
(format "%s=%d" envvar port)
|
||||
tramp-remote-process-environment)))
|
||||
(should
|
||||
(string-equal
|
||||
(string-match
|
||||
(number-to-string port)
|
||||
(shell-command-to-string (format "echo -n $%s" envvar))))))
|
||||
|
||||
|
|
|
|||
|
|
@ -295,6 +295,12 @@
|
|||
(insert input ")"))
|
||||
(should (equal (css--hsl-color) "#ff0000")))))
|
||||
|
||||
(ert-deftest css-test-hex-color ()
|
||||
(should (equal (css--hex-color "#abc") "#abc"))
|
||||
(should (equal (css--hex-color "#abcd") "#abc"))
|
||||
(should (equal (css--hex-color "#aabbcc") "#aabbcc"))
|
||||
(should (equal (css--hex-color "#aabbccdd") "#aabbcc")))
|
||||
|
||||
(ert-deftest css-test-named-color ()
|
||||
(dolist (text '("@mixin black" "@include black"))
|
||||
(with-temp-buffer
|
||||
|
|
|
|||
Loading…
Reference in a new issue