1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-23 10:34:07 +00:00
Commit Graph

28 Commits

Author SHA1 Message Date
Alan Mackenzie
a8231e00cb CC Mode now uses the new :after-hook feature of define-derived-mode
It now runs internal variable setting functions after the mode hooks, no
longer runs the mode hooks twice, and declares the configuration variables for
noise macros and macros with semicolons as safe variables (when given suitable
arguments).

Fixes bug #16759 and bug #23476.

* .dir-locals: Put the c-noise-macros-with-paren-names setting back into the C
Mode value.

* lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
c-make-macro-with-semi-re.
(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
and c-update-modeline into the :after-hook form.  Remove the explicit settings
of the syntax table, the abbreviation table and the local key map, since they
duplicate forms generated by define-derived-mode.  Remove the explicit
invocation of each mode's mode hook, since they duplicate ones generated by
define-derived-mode.

* lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
functions.
(c-noise-macro-names, c-noise-macro-with-parens-names): give the
save-local-variable property c-string-list-p.
(c-macro-names-with-semicolon): give the save-local-variable property
c-string-or-string-list-p.

* doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
necessary to call the regexp generating functions after setting the pertinent
configuration values in a mode hook.
2016-05-09 17:49:45 +00:00
Alan Mackenzie
2ac39b0699 Revert change 8e4595a... due to annoyance it causes the development team.
Change 8e4595a438 from 2016-04-30 17:28:24
+0000 was an enhancement to .dir-locals to allow correct fontification
of certain macro constructs.

* .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
2016-05-07 20:28:18 +00:00
Alan Mackenzie
8e4595a438 * .dir-locals: Amend for correct fontification of *.[ch] containing "IF_LINT" 2016-04-30 17:30:29 +00:00
Paul Eggert
f2da220b5f Prefer "Bug#1234" in commit messages
* .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
as this isn't useful for Git.
* CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
2015-04-18 19:48:23 -07:00
Dmitry Gutov
93d4412046 ; Set indent-tabs-mode to nil in (most) Elisp sources
Fixes: bug#20323
2015-04-15 01:41:10 +03:00
Paul Eggert
2e00757195 Restore 'Bug#' -> 'debbugs:' rewrite in log-edit-mode.
* .dir-locals.el (log-edit-mode): Restore the (log-edit-rewrite-fixes
"[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1").  See Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg01187.html
2014-11-16 19:43:46 -08:00
Paul Eggert
f8c4f8d6a7 Backport fix for minor Bazaar leftovers.
Reported by Perry E. Metzger in:
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00745.html
* .dir-locals.el: Remove reference to bzr commit --fixes debbugs.
* etc/CONTRIBUTE: More git transition.
2014-11-13 12:30:02 -08:00
Dmitry Gutov
52789f7fb3 Apply the initial log-edit tweaks discussed at emacs-devel
* .dir-locals.el: (log-edit-move): Add the "Author: " header.

* lisp/vc/log-edit.el (log-edit-mode-map): Add binding for
`log-edit-beginning-of-line'.
(log-edit-setup-add-author): New user option.
(log-edit-beginning-of-line): New command.
(log-edit): Move major mode call above the contents setup so that
the local variable values are already applied.
(log-edit): Only insert "Author: " when
`log-edit-setup-add-author' is non-nil.
(log-edit): When SETUP is non-nil, position point after ": "
instead of point-min.
2013-12-01 06:13:50 +02:00
Glenn Morris
e00c793aec Fix typo in previous 2012-07-09 15:56:14 -04:00
Glenn Morris
7929d4ef7b Apply GNU coding style to objc-mode as well as c-mode 2012-07-09 15:55:23 -04:00
Stefan Monnier
49ed9c8e75 * lisp/vc/log-edit.el: Add GNU coding standards highlighting.
(log-edit-font-lock-gnu-style)
(log-edit-font-lock-gnu-keywords): New vars.
(log-edit-font-lock-keywords): New fun.
(log-edit-mode): Don't fold case in font-lock.
(log-edit-font-lock-keywords): Do not assume case-folding.
* .dir-locals.el (log-edit-mode): Enable gnu-style checks.
2012-05-08 11:19:18 -04:00
Lars Magne Ingebrigtsen
c5b01d8c63 * .dir-locals.el: Change the debbugs regexp to allow having the bug number as the first thing on a line. 2011-09-19 10:26:50 +02:00
Chong Yidong
6f68a3a29e Revert undocumented change to .dir-locals.el in 2011-04-01T17:19:52Z!monnier@iro.umontreal.ca.
This bumped fill-column from 70 to 79, but was not documented in the
commit log, and appears to be a mistake.
2011-04-24 14:34:57 -04:00
Stefan Monnier
876c194cba Get rid of funvec.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Handle new form of
`byte-constant'.
(byte-compile-close-variables, displaying-byte-compile-warnings):
Add edebug spec.
(byte-compile-toplevel-file-form): New fun, split out of
byte-compile-file-form.
(byte-compile-from-buffer): Use it to avoid applying cconv
multiple times.
(byte-compile): Only strip `function' if it's present.
(byte-compile-lambda): Add `reserved-csts' argument.
Use new lexenv arg of byte-compile-top-level.
(byte-compile-reserved-constants): New var.
(byte-compile-constants-vector): Obey it.
(byte-compile-constants-vector): Handle new `byte-constant' form.
(byte-compile-top-level): Add args `lexenv' and `reserved-csts'.
(byte-compile-form): Don't check callargs here.
(byte-compile-normal-call): Do it here instead.
(byte-compile-push-unknown-constant)
(byte-compile-resolve-unknown-constant): Remove, unused.
(byte-compile-make-closure): Use `make-byte-code' rather than `curry',
putting the environment into the "constant" pool.
(byte-compile-get-closed-var): Use special byte-constant.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Handle new
intermediate special form `internal-make-vector'.
(byte-optimize-lapcode): Handle new form of `byte-constant'.
* lisp/help-fns.el (describe-function-1): Don't handle funvecs.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Only convert quote to
function if the content is a lambda expression, not if it's a closure.
* emacs-lisp/eieio-come.el: Remove.
* lisp/emacs-lisp/eieio.el: Don't require eieio-comp.
(defmethod): Do a bit more work to find the body and wrap it into
a function before passing it to eieio-defmethod.
(eieio-defmethod): New arg `code' for it.
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Don't hide things in
debugger backtrace.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Use backquotes, and be
more careful when quoting a function value.
* lisp/emacs-lisp/cconv.el (cconv-freevars): Accept defvar/defconst.
(cconv-closure-convert-rec): Catch stray `internal-make-closure'.
* lisp/Makefile.in (COMPILE_FIRST): Compile pcase and cconv early.

* src/eval.c (Qcurry): Remove.
(funcall_funvec): Remove.
(funcall_lambda): Move new byte-code handling to reduce impact.
Treat all args as lexical in the case of lexbind.
(Fcurry): Remove.
* src/data.c (Qfunction_vector): Remove.
(Ffunvecp): Remove.
* src/lread.c (read1): Revert to calling make_byte_code here.
(read_vector): Don't call make_byte_code any more.
* src/lisp.h (enum pvec_type): Rename back to PVEC_COMPILED.
(XSETCOMPILED): Rename back from XSETFUNVEC.
(FUNVEC_SIZE): Remove.
(FUNVEC_COMPILED_TAG_P, FUNVEC_COMPILED_P): Remove.
(COMPILEDP): Rename back from FUNVECP.
* src/fns.c (Felt): Remove unexplained FUNVEC check.
* src/doc.c (Fdocumentation): Don't handle funvec.
* src/alloc.c (make_funvec, Ffunvec): Remove.
* doc/lispref/vol2.texi (Top):
* doc/lispref/vol1.texi (Top):
* doc/lispref/objects.texi (Programming Types, Funvec Type, Type Predicates):
* doc/lispref/functions.texi (Functions, What Is a Function, FunctionCurrying):
* doc/lispref/elisp.texi (Top): Remove mentions of funvec and curry.
2011-02-24 22:27:45 -05:00
Stefan Monnier
4a47c27573 Merge from emacs-23 2010-11-17 22:54:14 -05:00
Glenn Morris
de4708cbd8 Comments related to `bzr commit --fixes'. 2010-11-09 20:50:31 -08:00
Stefan Monnier
d607b96bc2 Merge from emacs-23 2010-11-09 15:07:10 -05:00
Stefan Monnier
dfb70734ef * .dir-locals.el (log-edit-mode): Set log-edit-rewrite-fixes. 2010-11-08 16:07:41 -05:00
Glenn Morris
888328d21b * .dir-locals.el: The Emacs convention is sentence-end-double-space.
Remove arch-tag comment.
2010-10-04 19:40:34 -07:00
Dan Nicolaescu
a3ab37b334 * .dir-locals.el (c-mode): Turn on whitespace-mode for diff-mode. 2010-03-19 02:46:08 -07:00
Glenn Morris
c3520efda3 (bug-reference-url-format): Change to debbugs.gnu.org. 2009-12-17 04:12:40 +00:00
Dan Nicolaescu
cc1cb3da4a (change-log-mode): Restore bug-reference-mode. 2009-09-14 23:24:56 +00:00
Juri Linkov
c2ad0dc9a8 (change-log-mode): Remove bug-reference-mode. 2009-01-14 23:16:35 +00:00
Juri Linkov
a372b1a24f (change-log-mode): Add bug-reference-url-format and bug-reference-mode. 2009-01-14 00:37:28 +00:00
Glenn Morris
05453c9d02 Don't set indent-tabs-mode. 2009-01-09 05:05:28 +00:00
Dan Nicolaescu
bda28f63f8 Remove non-working entry for pmail.
(fill-column): Fix typo.
(change-log-mode): Add fill column.
2008-12-27 17:10:24 +00:00
Miles Bader
b5c3fb2111 Changes from arch/CVS synchronization 2008-12-26 02:31:57 +00:00
Dan Nicolaescu
b08ddfb407 * make-dist (tempdir): Distribute .dir-locals.el.
* .dir-locals.el: New file.
2008-12-24 00:45:51 +00:00