1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 18:40:39 -08:00
Commit graph

121832 commits

Author SHA1 Message Date
Paul Eggert
b220562637 Fix quoting of help for functions with odd names
While investigating Bug#20759, I discovered other quoting problems:
C-h f mishandled characters like backslash and quote in function names.
This fix changes the behavior so that 'C-h f pcase RET' now
generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
in src/lread.c's read1 function says that the backslash will be
needed starting in Emacs 25, which implies that 'format' is
correct and the old pcase documention was wrong to omit the backslash.
* lisp/emacs-lisp/nadvice.el (advice--make-docstring):
* lisp/help-fns.el (help-fns--signature):
* lisp/help.el (help-add-fundoc-usage):
* lisp/progmodes/elisp-mode.el (elisp-function-argstring):
Use help--make-usage-docstring rather than formatting
help-make-usage.
* lisp/emacs-lisp/pcase.el (pcase--make-docstring):
Return raw docstring.
* lisp/help-fns.el (help-fns--signature): New arg RAW, to return
raw docstring.  Take more care to distinguish raw from cooked dstrings.
(describe-function-1): Let help-fns--signature substitute
command keys.
* lisp/help.el (help--docstring-quote): New function.
(help-split-fundoc): Use it, to quote funny characters more
systematically.
(help--make-usage): Rename from help-make-usage, since this
should be private.  Leave an obsolete alias for the old name.
(help--make-usage-docstring): New function.
* test/automated/help-fns.el (help-fns-test-funny-names): New test.
2015-06-11 10:24:38 -07:00
Stefan Monnier
eda386fc71 * lisp/thingatpt.el (in-string-p): Revert last change,
since in-string-p is not used in thingatpt.el but only from outside.

Also, use lexical binding.
2015-06-11 13:20:41 -04:00
Eli Zaretskii
35d19cc2a1 ; * ChangeLog.2: Remove entries from a merged feature branch. 2015-06-11 19:10:42 +03:00
Artur Malabarba
fe5ba92402 * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
* test/automated/let-alist.el (let-alist-cons): Test it.
2015-06-11 15:08:32 +01:00
Nicolas Richard
ece5691fe6 * src/syntax.c (Fbackward_prefix_chars): Reword docstring 2015-06-11 11:49:00 +02:00
Glenn Morris
45deb048ad * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
; * ChangeLog.2: Related fixes.
2015-06-10 21:37:06 -04:00
Glenn Morris
62afb85efb Improve generated ChangeLog for gitmerge.el commits. (Bug#20717)
* build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.

* admin/gitmerge.el (gitmerge-commit-message):
Exclude "skipped" messages from ChangeLog once again.

; * ChangLog.2: Related fixes.
2015-06-10 21:13:51 -04:00
Glenn Morris
cabaa992fa Slight namespace cleanup for thingatpt.el.
* lisp/thingatpt.el (thing-at-point--in-string-p)
(thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
(thing-at-point--read-from-whole-string): Rename from
old versions without "thing-at-point--" prefix.
Keep old versions as obsolete aliases.  Update all uses.
2015-06-10 19:07:09 -04:00
Glenn Morris
7c24a2c210 * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
Move requiring of finder from here...
(checkdoc-package-keywords): ... to here.
2015-06-10 17:06:02 -04:00
Glenn Morris
fb7234019f Use 'user-error' in a few calendar files.
* lisp/calendar/appt.el (appt-add):
* lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
(calendar-generate):
* lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
Replace 'error' with 'user-error'.
2015-06-10 17:04:54 -04:00
Glenn Morris
7de8137710 * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error. 2015-06-10 16:57:59 -04:00
Glenn Morris
6bf9bdb4b1 * lisp/files-x.el (add-file-local-variable):
Special-case 'lexical-binding'.  (Bug#20641)
2015-06-10 16:38:18 -04:00
Glenn Morris
d9d04bfa49 * lisp/progmodes/executable.el (executable-self-display): Obsolete.
No longer autoload.

* doc/misc/autotype.texi (Executables):
Undocument executable-self-display.
2015-06-10 16:24:32 -04:00
Glenn Morris
dfa1dc1c2b * lisp/progmodes/executable.el (executable-self-display):
Use non-obsolete tail syntax.  (Bug#20779)
(executable-self-display): Doc update.
2015-06-10 16:19:13 -04:00
Stefan Monnier
a0f0f08a52 * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
(finder-known-keywords): Silence byte-compiler.
2015-06-10 09:11:20 -04:00
Glenn Morris
683e995e53 ; * lisp/simple: Revert presumably unintentional deletion of special-mode. 2015-06-09 20:34:50 -07:00
Stefan Monnier
0fad7268a8 * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730) 2015-06-09 22:14:47 -04:00
Stefan Monnier
06193432f2 * lisp/progmodes/sh-script.el: Better handle nested quotes
(sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
(sh-font-lock-quoted-subshell): Make sure double quotes within single
quotes don't mistakenly end prematurely the surrounding string.
2015-06-09 22:10:38 -04:00
Stefan Monnier
26a17f5ac9 * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct. 2015-06-09 21:21:29 -04:00
Glenn Morris
898945a27e * test/automated/Makefile.in (ELFILES): Sort. 2015-06-09 15:24:17 -04:00
Glenn Morris
7934415695 * Makefile.in (SUBDIR_MAKEFILES):
* lwlib/Makefile.in (WARN_CFLAGS):
Use built-in Make functions rather than echo+sed.
2015-06-09 15:23:47 -04:00
Eli Zaretskii
76f2d766ad Update char-script-table
* lisp/international/characters.el (char-script-table): Update
from Unicode 8.0 Draft.
2015-06-09 19:36:14 +03:00
Eli Zaretskii
e0707282d2 Improve font selection for punctuation and other symbols
* src/fontset.c (face_for_char): If the character's script is
'symbol', and the font used for ASCII face has a glyph for it, use
the font for the ASCII face instead of searching the fontsets.
This comes instead of NS-specific code that used the current
face's font instead, which is now disabled due to undesirable
consequences.  (Bug#20727)
2015-06-09 17:56:39 +03:00
Dmitry Gutov
68273707ec Skip past `#' to find BEG
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
past `#' to find BEG (bug#20771).

* test/automated/elisp-mode-tests.el
(elisp-completes-functions-after-hash-quote): New test.
2015-06-09 01:08:28 +03:00
Eli Zaretskii
55200b4ca5 Fix compilation warning/error in --without-x builds
* src/xdisp.c (append_space_for_newline): Condition GUI-specific
code on HAVE_WINDOW_SYSTEM.
2015-06-08 21:15:05 +03:00
Eli Zaretskii
8d9e5bab41 Improve the default fontset wrt symbols
* lisp/international/fontset.el (setup-default-fontset): Better
setup of fontset-default for symbols: use Symbola and FreeMono.
(Bug#20727)
2015-06-08 21:04:08 +03:00
Oleh Krehel
20de61c833 Add new command checkdoc-package-keywords
* lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
  defcustom.
(checkdoc-list-of-strings-p): Add doc.
(checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
non-nil, call `checkdoc-package-keywords'.
(checkdoc-get-keywords): New defun.
(checkdoc-package-keywords): New command. Warns if the current file
has package.el-style keywords that aren't in `finder-known-keywords'.

* etc/NEWS: Add entry.
2015-06-08 16:54:51 +02:00
Eli Zaretskii
296dadb14e Avoid crashes when key-binding is called from a timer
* src/keymap.c (Fkey_binding): Don't segfault if called with an
empty vector as KEY.  (Bug#20705)
2015-06-08 17:39:35 +03:00
Eli Zaretskii
a04d35cb02 Fix a thinko in arc-mode.el
* lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
non-Zip64 case.  (Bug#20769)
2015-06-08 17:22:44 +03:00
Artur Malabarba
f1aa40f47d * lisp/emacs-lisp/package.el (package-delete): Make interactive 2015-06-08 10:50:43 +01:00
Oleh Krehel
c941d47932 checkdoc.el (checkdoc-file): New function
* lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
  `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
  to the standard output.

(bug#20754)
2015-06-08 08:33:21 +02:00
Glenn Morris
c876b73a8f ; * src/font.c (syms_of_font) <font-log>: Tweak previous doc fix. 2015-06-07 16:55:00 -07:00
Glenn Morris
182cb35ebd * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog. 2015-06-07 16:51:44 -07:00
Glenn Morris
85b812f631 * src/font.c (syms_of_font) <font-log>: Doc fix. 2015-06-07 16:51:11 -07:00
Glenn Morris
86abad6508 Remove the obsolete leading "*" from some C doc strings.
* src/coding.c (syms_of_coding):
* src/font.c (syms_of_font): Remove leading "*" from docs.

* lisp/cus-start.el (enable-character-translation): Add it.
2015-06-07 16:47:45 -07:00
Paul Eggert
90a19baa20 Move gen_origin from program to data
That way, 'make change-history' needs to change only ChangeLog.2,
instead of having to change two files.
* ChangeLog.2: Add commit info for range that this file covers.
* Makefile.in (new_commit_regexp): New macro.
(change-history-nocommit): Simplify, by putting what used to be
the gen_origin value into the data (ChangeLog.2) rather than
into the program (gitlog-to-emacslog).
* build-aux/gitlog-to-emacslog (gen_origin): Calculate from
the input file (e.g., ChangeLog.2) rather than by having a
constant in the program.  Substitute it into the output.
2015-06-07 15:41:02 -07:00
Dmitry Gutov
866cda36cc Escape any quotes in the function name
* lisp/help-fns.el (help-fns--signature): Quote any quotes in the
function name (bug#20759).
2015-06-07 23:39:18 +03:00
Eli Zaretskii
aa83b5ecb0 Adapt 'struct timespec' to next release of MinGW runtime
* nt/inc/ms-w32.h (struct timespec): Don't declare if
__struct_timespec_defined is defined.
2015-06-07 18:36:25 +03:00
Glenn Morris
4b7c816e04 ; Auto-commit of ChangeLog files. 2015-06-07 06:25:33 -04:00
Paul Eggert
325bf192ae Merge from gnulib
This incorporates:
2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
2015-06-05 stdio: Don't redefine gets when using C++
2015-06-05 acl-permissions: port to AIX, C89 HP-UX
2015-06-02 file-has-acl: fix build on Mac OS X 10
2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
2015-06-01 pthread_sigmask: discount system version if a simple macro
2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
* doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
* lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
* m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
* lib/gnulib.mk: Regenerate.
2015-06-06 18:38:30 -07:00
Juri Linkov
6fec047e94 * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
before calling grep-compute-defaults because now it affects the
command lines computed in grep-compute-defaults. (Bug#20728)
2015-06-07 01:02:38 +03:00
Glenn Morris
809885c217 Address some compilation warnings.
* lisp/international/mule-cmds.el (w32-get-console-codepage)
(w32-get-console-output-codepage):
* lisp/progmodes/elisp-mode.el (xref-collect-references):
* lisp/version.el (cairo-version-string): Declare.

* lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
2015-06-06 12:12:06 -07:00
Eli Zaretskii
f1baa15650 Fix display when a font claims large values of ascent and descent
This fixes bug#20628.

* src/xdisp.c (get_phys_cursor_geometry): Correct the Y
coordinate of a hollow cursor glyph when the original glyph's
ascent is too small.
(get_font_ascent_descent, normal_char_ascent_descent)
(normal_char_height): New functions.
(handle_single_display_spec, append_space_for_newline)
(calc_pixel_width_or_height, produce_stretch_glyph)
(calc_line_height_property): Use normal_char_ascent_descent and
normal_char_height.
(x_produce_glyphs): When font-global values of ascent and descent
are too large, use per-character glyph metrics instead, if
possible.  But don't allow the glyph row's ascent and descent
values become smaller than the values from the metrics of the
font's "normal" character.

* src/xftfont.c (xftfont_draw):
* src/w32font.c (w32font_draw): Correct the values of ascent and
descent used to draw glyphless characters' hex code in a box.

* src/xterm.c (x_draw_glyph_string_background):
* src/xdisp.c (x_produce_glyphs):
* src/w32term.c (x_draw_glyph_string_background):
* src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
to detect fonts whose global ascent and descent values are too
large to be used in layout decision, and redraw the background
when that happens.

* src/dispextern.h (FONT_TOO_HIGH): New macro.
(get_font_ascent_descent): Add prototype.

* src/xterm.c (x_new_font):
* src/w32term.c (x_new_font):
* src/nsterm.m (x_new_font):
* src/font.c (font_open_entity):
* src/composite.c (composition_gstring_width): Use
get_font_ascent_descent to obtain reasonable values for ascent and
descent of a font.
2015-06-06 16:10:19 +03:00
Nicolas Richard
6f10a3f90f Add assertion in adjust_point_for_property
* src/keyboard.c (adjust_point_for_property): Add eassert for
current buffer being shown in selected window.
2015-06-06 13:23:18 +02:00
Dmitry Gutov
73e6f36ed6 Replace uses of in-string-p; make it obsolete
* lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
(end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
2015-06-06 12:57:59 +03:00
Eli Zaretskii
e5108ff1e4 Fix Dired display of an explicit list of files by ls-lisp.el
* lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
(ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
correct for when displaying individual files separately, not as
part of listing a directory, in which case these values are not
recomputed by 'ls-lisp-insert-directory', but used verbatim.
2015-06-06 12:52:56 +03:00
Eli Zaretskii
6cdeb62ea6 * lisp/dired.el (dired): Doc fix. (Bug#20739) 2015-06-06 12:33:59 +03:00
Nicolas Richard
d31cd49074 Do not adjust point in a non-selected window
* src/keyboard.c (command_loop_1): Do not adjust point when
current buffer is not shown in selected window (Bug#20590).
2015-06-06 08:34:47 +02:00
Nicolas Richard
bb2c6d2eb5 * etc/DEBUG: Mention 'maybe_call_debugger' 2015-06-06 08:34:46 +02:00
Nicolas Petton
b0c0b96ee3 Fix a unit test for map.el
* test/automated/map-tests.el (test-map-let): Fix the test to work
with the new syntax of `map-let'.
2015-06-06 01:54:51 +02:00