diff options
| author | Paul Eggert | 2011-03-17 09:32:03 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-03-17 09:32:03 -0700 |
| commit | b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c (patch) | |
| tree | 5dd8a40d7e3e0b86749cecfee7443ad81bdbfe5e | |
| parent | b766f86726fc2828a035cb8db149598a3a84de96 (diff) | |
| parent | d6cd56f187a791983579bf5d4ce3702d2ddf2499 (diff) | |
| download | emacs-b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c.tar.gz emacs-b1d876f1a19ae65c8a8dd61c4ce17055ca53f16c.zip | |
Merge from mainline.
68 files changed, 1095 insertions, 663 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index db3a944c160..5dd5e3e4fdc 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2011-03-17 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 2 | |||
| 3 | * calc.texi (Logarithmic Units): Update the function names. | ||
| 4 | |||
| 5 | 2011-03-15 Antoine Levitt <antoine.levitt@gmail.com> | ||
| 6 | |||
| 7 | * message.texi (Insertion Variables): Document message-cite-style. | ||
| 8 | |||
| 9 | 2011-03-14 Michael Albinus <michael.albinus@gmx.de> | ||
| 10 | |||
| 11 | * tramp.texi (Remote processes): New subsection "Running shell on | ||
| 12 | a remote host". | ||
| 13 | |||
| 1 | 2011-03-12 Teodor Zlatanov <tzz@lifelogs.com> | 14 | 2011-03-12 Teodor Zlatanov <tzz@lifelogs.com> |
| 2 | 15 | ||
| 3 | * auth.texi (Help for developers): Update docs to explain that the | 16 | * auth.texi (Help for developers): Update docs to explain that the |
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 88103fc0034..f732eff5690 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi | |||
| @@ -28126,47 +28126,15 @@ tell Calc to use a different file for the Calc init file.) | |||
| 28126 | @section Logarithmic Units | 28126 | @section Logarithmic Units |
| 28127 | 28127 | ||
| 28128 | The units @code{dB} (decibels) and @code{Np} (nepers) are logarithmic | 28128 | The units @code{dB} (decibels) and @code{Np} (nepers) are logarithmic |
| 28129 | units which are typically manipulated differently than standard units. | 28129 | units which are manipulated differently than standard units. Calc |
| 28130 | Calc provides commands to work with these logarithmic units. | 28130 | provides commands to work with these logarithmic units. |
| 28131 | 28131 | ||
| 28132 | Decibels and nepers are used to measure power quantities as well as | 28132 | Decibels and nepers are used to measure power quantities as well as |
| 28133 | field quantities (quantities whose squares are proportional to power). | 28133 | field quantities (quantities whose squares are proportional to power); |
| 28134 | The decibel and neper values of a quantity are relative to | 28134 | these two types of quantities are handled slightly different from each |
| 28135 | a reference quantity; for example, the decibel value of a sound | 28135 | other. By default the Calc commands work as if power quantities are |
| 28136 | pressure level of | 28136 | being used; with the @kbd{H} prefix the Calc commands work as if field |
| 28137 | @infoline @math{60 uPa} | 28137 | quantities are being used. |
| 28138 | @texline @math{60 \mu{\rm Pa}} | ||
| 28139 | relative to | ||
| 28140 | @infoline @math{20 uPa} | ||
| 28141 | @texline @math{20 \mu{\rm Pa}} | ||
| 28142 | (the threshhold of human hearing) is | ||
| 28143 | @infoline @math{20 log10(60 uPa/ 20 uPa) dB = 20 log10(3) dB}, | ||
| 28144 | @texline @math{20 \log_{10}(60 \mu{\rm Pa}/20 \mu{\rm Pa}) {\rm dB} = 20 \log_{10}(3) {\rm dB}}, | ||
| 28145 | which is about | ||
| 28146 | @infoline @math{9.54 dB}. | ||
| 28147 | @texline @math{9.54 {\rm dB}}. | ||
| 28148 | Note that in taking the ratio, the original units cancel and so these | ||
| 28149 | logarithmic units are dimensionless. | ||
| 28150 | |||
| 28151 | @vindex calc-logunits-power-reference | ||
| 28152 | @vindex calc-logunits-field-reference | ||
| 28153 | The Calc commands for the logarithmic units assume that power quantities | ||
| 28154 | are being used unless the @kbd{H} prefix is used, in which case they assume that | ||
| 28155 | field quantities are being used. For power quantities, Calc uses | ||
| 28156 | @infoline @math{1 mW} | ||
| 28157 | @texline @math{1 {\rm mW}} | ||
| 28158 | as the default reference quantity; this default can be changed by changing | ||
| 28159 | the value of the customizable variable | ||
| 28160 | @code{calc-logunits-power-reference} (@pxref{Customizing Calc}). | ||
| 28161 | For field quantities, Calc uses | ||
| 28162 | @infoline @math{20 uPa} | ||
| 28163 | @texline @math{20 \mu{\rm Pa}} | ||
| 28164 | as the default reference quantity; this is the value used in acoustics | ||
| 28165 | which is where decibels are commonly encountered. This default can be | ||
| 28166 | changed by changing the value of the customizable variable | ||
| 28167 | @code{calc-logunits-field-reference} (@pxref{Customizing Calc}). A | ||
| 28168 | non-default reference quantity will be read from the stack if the | ||
| 28169 | capital @kbd{O} prefix is used. | ||
| 28170 | 28138 | ||
| 28171 | The decibel level of a power | 28139 | The decibel level of a power |
| 28172 | @infoline @math{P1}, | 28140 | @infoline @math{P1}, |
| @@ -28214,6 +28182,20 @@ relative to a reference | |||
| 28214 | is defined as | 28182 | is defined as |
| 28215 | @infoline @math{20 log10(F1/F0) dB}. | 28183 | @infoline @math{20 log10(F1/F0) dB}. |
| 28216 | @texline @math{20 \log_{10}(F_{1}/F_{0}) {\rm dB}}. | 28184 | @texline @math{20 \log_{10}(F_{1}/F_{0}) {\rm dB}}. |
| 28185 | For example, the decibel value of a sound pressure level of | ||
| 28186 | @infoline @math{60 uPa} | ||
| 28187 | @texline @math{60 \mu{\rm Pa}} | ||
| 28188 | relative to | ||
| 28189 | @infoline @math{20 uPa} | ||
| 28190 | @texline @math{20 \mu{\rm Pa}} | ||
| 28191 | (the threshhold of human hearing) is | ||
| 28192 | @infoline @math{20 log10(60 uPa/ 20 uPa) dB = 20 log10(3) dB}, | ||
| 28193 | @texline @math{20 \log_{10}(60 \mu{\rm Pa}/20 \mu{\rm Pa}) {\rm dB} = 20 \log_{10}(3) {\rm dB}}, | ||
| 28194 | which is about | ||
| 28195 | @infoline @math{9.54 dB}. | ||
| 28196 | @texline @math{9.54 {\rm dB}}. | ||
| 28197 | Note that in taking the ratio, the original units cancel and so these | ||
| 28198 | logarithmic units are dimensionless. | ||
| 28217 | 28199 | ||
| 28218 | Nepers (named after John Napier, who is credited with inventing the | 28200 | Nepers (named after John Napier, who is credited with inventing the |
| 28219 | logarithm) are similar to bels except they use natural logarithms instead | 28201 | logarithm) are similar to bels except they use natural logarithms instead |
| @@ -28236,55 +28218,72 @@ is | |||
| 28236 | @infoline @math{ln(F1/F0) Np}. | 28218 | @infoline @math{ln(F1/F0) Np}. |
| 28237 | @texline @math{\ln(F_1/F_0) {\rm Np}}. | 28219 | @texline @math{\ln(F_1/F_0) {\rm Np}}. |
| 28238 | 28220 | ||
| 28221 | @vindex calc-lu-power-reference | ||
| 28222 | @vindex calc-lu-field-reference | ||
| 28223 | For power quantities, Calc uses | ||
| 28224 | @infoline @math{1 mW} | ||
| 28225 | @texline @math{1 {\rm mW}} | ||
| 28226 | as the default reference quantity; this default can be changed by changing | ||
| 28227 | the value of the customizable variable | ||
| 28228 | @code{calc-lu-power-reference} (@pxref{Customizing Calc}). | ||
| 28229 | For field quantities, Calc uses | ||
| 28230 | @infoline @math{20 uPa} | ||
| 28231 | @texline @math{20 \mu{\rm Pa}} | ||
| 28232 | as the default reference quantity; this is the value used in acoustics | ||
| 28233 | which is where decibels are commonly encountered. This default can be | ||
| 28234 | changed by changing the value of the customizable variable | ||
| 28235 | @code{calc-lu-field-reference} (@pxref{Customizing Calc}). A | ||
| 28236 | non-default reference quantity will be read from the stack if the | ||
| 28237 | capital @kbd{O} prefix is used. | ||
| 28238 | |||
| 28239 | @kindex l q | 28239 | @kindex l q |
| 28240 | @pindex calc-logunits-quantity | 28240 | @pindex calc-lu-quant |
| 28241 | @tindex powerquant | 28241 | @tindex lupquant |
| 28242 | @tindex fieldquant | 28242 | @tindex lufquant |
| 28243 | The @kbd{l q} (@code{calc-logunits-quantity}) [@code{powerquant}] | 28243 | The @kbd{l q} (@code{calc-lu-quant}) [@code{lupquant}] |
| 28244 | command computes the power quantity corresponding to a given number of | 28244 | command computes the power quantity corresponding to a given number of |
| 28245 | logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the | 28245 | logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the |
| 28246 | reference level will be read from the top of the stack. (In an | 28246 | reference level will be read from the top of the stack. (In an |
| 28247 | algebraic formula, @code{powerquant} can be given an optional second | 28247 | algebraic formula, @code{lupquant} can be given an optional second |
| 28248 | argument which will be used for the reference level.) For example, | 28248 | argument which will be used for the reference level.) For example, |
| 28249 | @code{20 dB @key{RET} l q} will return @code{100 mW}; | 28249 | @code{20 dB @key{RET} l q} will return @code{100 mW}; |
| 28250 | @code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}. | 28250 | @code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}. |
| 28251 | The @kbd{H l q} [@code{fieldquant}] command behaves like @kbd{l q} but | 28251 | The @kbd{H l q} [@code{lufquant}] command behaves like @kbd{l q} but |
| 28252 | computes field quantities instead of power quantities. | 28252 | computes field quantities instead of power quantities. |
| 28253 | 28253 | ||
| 28254 | @kindex l d | 28254 | @kindex l d |
| 28255 | @pindex calc-dblevel | 28255 | @pindex calc-db |
| 28256 | @tindex dbpowerlevel | 28256 | @tindex dbpower |
| 28257 | @tindex dbfieldlevel | 28257 | @tindex dbfield |
| 28258 | @kindex l n | 28258 | @kindex l n |
| 28259 | @pindex calc-nplevel | 28259 | @pindex calc-np |
| 28260 | @tindex nppowerlevel | 28260 | @tindex nppower |
| 28261 | @tindex npfieldlevel | 28261 | @tindex npfield |
| 28262 | The @kbd{l d} (@code{calc-dblevel}) [@code{dbpowerlevel}] | 28262 | The @kbd{l d} (@code{calc-db}) [@code{dbpower}] command will compute |
| 28263 | command will compute the decibel level of a power quantity using the | 28263 | the decibel level of a power quantity using the default reference |
| 28264 | default reference level; @kbd{H l d} [@code{dbfieldlevel}] will | 28264 | level; @kbd{H l d} [@code{dbfield}] will compute the decibel level of |
| 28265 | compute the decibel level of a field quantity. The commands @kbd{l n} | 28265 | a field quantity. The commands @kbd{l n} (@code{calc-np}) |
| 28266 | (@code{calc-nplevel}) [@code{nppowerlevel}] and @kbd{H l n} | 28266 | [@code{nppower}] and @kbd{H l n} [@code{npfield}] will similarly |
| 28267 | [@code{npfieldlevel}] will similarly compute neper levels. With the | 28267 | compute neper levels. With the capital @kbd{O} prefix these commands |
| 28268 | capital @kbd{O} prefix these commands will read a reference level | 28268 | will read a reference level from the stack; in an algebraic formula |
| 28269 | from the stack; in an algebraic formula the reference level can be | 28269 | the reference level can be given as an optional second argument. |
| 28270 | given as an optional second argument. | ||
| 28271 | 28270 | ||
| 28272 | @kindex l + | 28271 | @kindex l + |
| 28273 | @pindex calc-logunits-add | 28272 | @pindex calc-lu-plus |
| 28274 | @tindex lupoweradd | 28273 | @tindex lupadd |
| 28275 | @tindex lufieldadd | 28274 | @tindex lufadd |
| 28276 | @kindex l - | 28275 | @kindex l - |
| 28277 | @pindex calc-logunits-sub | 28276 | @pindex calc-lu-minus |
| 28278 | @tindex lupowersub | 28277 | @tindex lupsub |
| 28279 | @tindex lufieldsub | 28278 | @tindex lufsub |
| 28280 | @kindex l * | 28279 | @kindex l * |
| 28281 | @pindex calc-logunits-mul | 28280 | @pindex calc-lu-times |
| 28282 | @tindex lupowermul | 28281 | @tindex lupmul |
| 28283 | @tindex lufieldmul | 28282 | @tindex lufmul |
| 28284 | @kindex l / | 28283 | @kindex l / |
| 28285 | @pindex calc-logunits-div | 28284 | @pindex calc-lu-divide |
| 28286 | @tindex lupowerdiv | 28285 | @tindex lupdiv |
| 28287 | @tindex lufielddiv | 28286 | @tindex lufdiv |
| 28288 | The sum of two power or field quantities doesn't correspond to the sum | 28287 | The sum of two power or field quantities doesn't correspond to the sum |
| 28289 | of the corresponding decibel or neper levels. If the powers | 28288 | of the corresponding decibel or neper levels. If the powers |
| 28290 | corresponding to decibel levels | 28289 | corresponding to decibel levels |
| @@ -28305,13 +28304,13 @@ $$ 10 \log_{10}(10^{D_1/10} + 10^{D_2/10}) {\rm dB}.$$ | |||
| 28305 | @end tex | 28304 | @end tex |
| 28306 | 28305 | ||
| 28307 | @noindent | 28306 | @noindent |
| 28308 | When field quantities are combined, it often means the | 28307 | When field quantities are combined, it often means the corresponding |
| 28309 | corresponding powers are added and so the above formula might be used. | 28308 | powers are added and so the above formula might be used. In |
| 28310 | In acoustics, for example, the decibel sound pressure level is defined | 28309 | acoustics, for example, the sound pressure level is a field quantity |
| 28311 | using the field formula but the sound pressure levels are combined | 28310 | and so the decibels are often defined using the field formula, but the |
| 28312 | as the sound power levels, and so the above formula should be used. If | 28311 | sound pressure levels are combined as the sound power levels, and so |
| 28313 | two field quantities themselves are added, the new decibel level will be | 28312 | the above formula should be used. If two field quantities themselves |
| 28314 | 28313 | are added, the new decibel level will be | |
| 28315 | 28314 | ||
| 28316 | @ifnottex | 28315 | @ifnottex |
| 28317 | @example | 28316 | @example |
| @@ -28349,20 +28348,18 @@ $$ D + 20 \log_{10}(N) {\rm dB}.$$ | |||
| 28349 | @end tex | 28348 | @end tex |
| 28350 | 28349 | ||
| 28351 | @noindent | 28350 | @noindent |
| 28352 | There are similar formulas for combining nepers. | 28351 | There are similar formulas for combining nepers. The @kbd{l +} |
| 28353 | The @kbd{l +} (@code{calc-logunits-add}) [@code{lupoweradd}] command | 28352 | (@code{calc-lu-plus}) [@code{lupadd}] command will ``add'' two |
| 28354 | will ``add'' two logarithmic unit power levels this way; with the | 28353 | logarithmic unit power levels this way; with the @kbd{H} prefix, |
| 28355 | @kbd{H} prefix, @kbd{H l +} [@code{lufieldadd}] will add logarithmic | 28354 | @kbd{H l +} [@code{lufadd}] will add logarithmic unit field levels. |
| 28356 | unit field levels. Similarly, logarithmic units can be | 28355 | Similarly, logarithmic units can be ``subtracted'' with @kbd{l -} |
| 28357 | ``subtracted'' with @kbd{l -} (@code{calc-logunits-sub}) | 28356 | (@code{calc-lu-minus}) [@code{lupsub}] or @kbd{H l -} [@code{lufsub}]. |
| 28358 | [@code{lupowersub}] or @kbd{H l -} [@code{lufieldsub}]. | 28357 | The @kbd{l *} (@code{calc-lu-times}) [@code{lupmul}] and @kbd{H l *} |
| 28359 | The @kbd{l *} (@code{calc-logunits-mul}) [@code{lupowermul}] | 28358 | [@code{lufmul}] commands will ``multiply'' a logarithmic unit by a |
| 28360 | and @kbd{H l *} [@code{lufieldmul}] commands will ``multiply'' | 28359 | number; the @kbd{l /} (@code{calc-lu-divide}) [@code{lupdiv}] and |
| 28361 | a logarithmic unit by a number; the @kbd{l /} | 28360 | @kbd{H l /} [@code{lufdiv}] commands will ``divide'' a logarithmic |
| 28362 | (@code{calc-logunits-divide}) [@code{lupowerdiv}] and | 28361 | unit by a number. Note that the reference quantities don't play a role |
| 28363 | @kbd{H l /} [@code{lufielddiv}] commands will ``divide'' a | 28362 | in this arithmetic. |
| 28364 | logarithmic unit by a number. Note that the reference quantities don't | ||
| 28365 | play a role in this arithmetic. | ||
| 28366 | 28363 | ||
| 28367 | @node Musical Notes, , Logarithmic Units, Units | 28364 | @node Musical Notes, , Logarithmic Units, Units |
| 28368 | @section Musical Notes | 28365 | @section Musical Notes |
| @@ -35539,16 +35536,16 @@ should also be added to @code{calc-embedded-announce-formula-alist} | |||
| 35539 | and @code{calc-embedded-open-close-plain-alist}. | 35536 | and @code{calc-embedded-open-close-plain-alist}. |
| 35540 | @end defvar | 35537 | @end defvar |
| 35541 | 35538 | ||
| 35542 | @defvar calc-logunits-power-reference | 35539 | @defvar calc-lu-power-reference |
| 35543 | @defvarx calc-logunits-field-reference | 35540 | @defvarx calc-lu-field-reference |
| 35544 | See @ref{Logarithmic Units}.@* | 35541 | See @ref{Logarithmic Units}.@* |
| 35545 | The variables @code{calc-logunits-power-reference} and | 35542 | The variables @code{calc-lu-power-reference} and |
| 35546 | @code{calc-logunits-field-reference} are unit expressions (written as | 35543 | @code{calc-lu-field-reference} are unit expressions (written as |
| 35547 | strings) which Calc will use as reference quantities for logarithmic | 35544 | strings) which Calc will use as reference quantities for logarithmic |
| 35548 | units. | 35545 | units. |
| 35549 | 35546 | ||
| 35550 | The default value of @code{calc-logunits-power-reference} is @code{"mW"} | 35547 | The default value of @code{calc-lu-power-reference} is @code{"mW"} |
| 35551 | and the default value of @code{calc-logunits-field-reference} is | 35548 | and the default value of @code{calc-lu-field-reference} is |
| 35552 | @code{"20 uPa"}. | 35549 | @code{"20 uPa"}. |
| 35553 | @end defvar | 35550 | @end defvar |
| 35554 | 35551 | ||
| @@ -36209,26 +36206,26 @@ keystrokes are not listed in this summary. | |||
| 36209 | @r{ v x@: I k T @: @: @:ltpt@:(x,v)} | 36206 | @r{ v x@: I k T @: @: @:ltpt@:(x,v)} |
| 36210 | 36207 | ||
| 36211 | @c | 36208 | @c |
| 36212 | @r{ a b@: l + @: @: @:lupoweradd@:(a,b)} | 36209 | @r{ a b@: l + @: @: @:lupadd@:(a,b)} |
| 36213 | @r{ a b@: H l + @: @: @:lufieldadd@:(a,b)} | 36210 | @r{ a b@: H l + @: @: @:lufadd@:(a,b)} |
| 36214 | @r{ a b@: l - @: @: @:lupowersub@:(a,b)} | 36211 | @r{ a b@: l - @: @: @:lupsub@:(a,b)} |
| 36215 | @r{ a b@: H l - @: @: @:lufieldsub@:(a,b)} | 36212 | @r{ a b@: H l - @: @: @:lufsub@:(a,b)} |
| 36216 | @r{ a b@: l * @: @: @:lupowermul@:(a,b)} | 36213 | @r{ a b@: l * @: @: @:lupmul@:(a,b)} |
| 36217 | @r{ a b@: H l * @: @: @:lufieldmul@:(a,b)} | 36214 | @r{ a b@: H l * @: @: @:lufmul@:(a,b)} |
| 36218 | @r{ a b@: l / @: @: @:lupowerdiv@:(a,b)} | 36215 | @r{ a b@: l / @: @: @:lupdiv@:(a,b)} |
| 36219 | @r{ a b@: H l / @: @: @:lufielddiv@:(a,b)} | 36216 | @r{ a b@: H l / @: @: @:lufdiv@:(a,b)} |
| 36220 | @r{ a@: l d @: @: @:dbpowerlevel@:(a)} | 36217 | @r{ a@: l d @: @: @:dbpower@:(a)} |
| 36221 | @r{ a b@: O l d @: @: @:dbpowerlevel@:(a,b)} | 36218 | @r{ a b@: O l d @: @: @:dbpower@:(a,b)} |
| 36222 | @r{ a@: H l d @: @: @:dbfieldlevel@:(a)} | 36219 | @r{ a@: H l d @: @: @:dbfield@:(a)} |
| 36223 | @r{ a b@: O H l d @: @: @:dbfieldlevel@:(a,b)} | 36220 | @r{ a b@: O H l d @: @: @:dbfield@:(a,b)} |
| 36224 | @r{ a@: l n @: @: @:nppowerlevel@:(a)} | 36221 | @r{ a@: l n @: @: @:nppower@:(a)} |
| 36225 | @r{ a b@: O l n @: @: @:nppowerlevel@:(a,b)} | 36222 | @r{ a b@: O l n @: @: @:nppower@:(a,b)} |
| 36226 | @r{ a@: H l n @: @: @:npfieldlevel@:(a)} | 36223 | @r{ a@: H l n @: @: @:npfield@:(a)} |
| 36227 | @r{ a b@: O H l n @: @: @:npfieldlevel@:(a,b)} | 36224 | @r{ a b@: O H l n @: @: @:npfield@:(a,b)} |
| 36228 | @r{ a@: l q @: @: @:powerquant@:(a)} | 36225 | @r{ a@: l q @: @: @:lupquant@:(a)} |
| 36229 | @r{ a b@: O l q @: @: @:powerquant@:(a,b)} | 36226 | @r{ a b@: O l q @: @: @:lupquant@:(a,b)} |
| 36230 | @r{ a@: H l q @: @: @:fieldquant@:(a)} | 36227 | @r{ a@: H l q @: @: @:lufquant@:(a)} |
| 36231 | @r{ a b@: O H l q @: @: @:fieldquant@:(a,b)} | 36228 | @r{ a b@: O H l q @: @: @:lufquant@:(a,b)} |
| 36232 | @r{ a@: l s @: @: @:spn@:(a)} | 36229 | @r{ a@: l s @: @: @:spn@:(a)} |
| 36233 | @r{ a@: l m @: @: @:midi@:(a)} | 36230 | @r{ a@: l m @: @: @:midi@:(a)} |
| 36234 | @r{ a@: l f @: @: @:freq@:(a)} | 36231 | @r{ a@: l f @: @: @:freq@:(a)} |
diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 2937037ebb3..7d61ffd9efa 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi | |||
| @@ -1930,6 +1930,25 @@ posting a prepared news message. | |||
| 1930 | @section Insertion Variables | 1930 | @section Insertion Variables |
| 1931 | 1931 | ||
| 1932 | @table @code | 1932 | @table @code |
| 1933 | @item message-cite-style | ||
| 1934 | @vindex message-cite-style | ||
| 1935 | The overall style to be used when replying to messages. This controls | ||
| 1936 | things like where the reply should be put relative to the original, | ||
| 1937 | how the citation is formatted, where the signature goes, etc. | ||
| 1938 | |||
| 1939 | Value is either @code{nil} (no variable overrides) or a let-style list | ||
| 1940 | of pairs @code{(VARIABLE VALUE)} to override default values. | ||
| 1941 | |||
| 1942 | See @code{gnus-posting-styles} to set this variable for specific | ||
| 1943 | groups. Presets to impersonate popular mail agents are available in the | ||
| 1944 | @code{message-cite-style-*} variables. | ||
| 1945 | |||
| 1946 | @item message-cite-reply-position | ||
| 1947 | @vindex message-cite-reply-position | ||
| 1948 | Where the reply should be positioned. Available styles are | ||
| 1949 | @code{traditional} to reply inline, @code{above} for top-posting, and | ||
| 1950 | @code{below} for bottom-posting | ||
| 1951 | |||
| 1933 | @item message-ignored-cited-headers | 1952 | @item message-ignored-cited-headers |
| 1934 | @vindex message-ignored-cited-headers | 1953 | @vindex message-ignored-cited-headers |
| 1935 | All headers that match this regexp will be removed from yanked | 1954 | All headers that match this regexp will be removed from yanked |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index bdbba437af7..e1c4a806de2 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -2540,7 +2540,28 @@ Another trick might be that you put @code{ForwardX11 yes} or | |||
| 2540 | that host. | 2540 | that host. |
| 2541 | 2541 | ||
| 2542 | 2542 | ||
| 2543 | @subsection Running shell-command on a remote host | 2543 | @subsection Running @code{shell} on a remote host |
| 2544 | @cindex shell | ||
| 2545 | |||
| 2546 | Calling @code{M-x shell} in a buffer related to a remote host runs the | ||
| 2547 | local shell as defined in @option{shell-file-name}. This might be | ||
| 2548 | also a valid path name for a shell to be applied on the remote host, | ||
| 2549 | but it will fail at least when your local and remote hosts belong to | ||
| 2550 | different system types, like @samp{windows-nt} and @samp{gnu/linux}. | ||
| 2551 | |||
| 2552 | You must set the variable @option{explicit-shell-file-name} to the | ||
| 2553 | shell path name on the remote host, in order to start that shell on | ||
| 2554 | the remote host. | ||
| 2555 | |||
| 2556 | @ifset emacs | ||
| 2557 | Starting with Emacs 24 this won't be necessary, if you call | ||
| 2558 | @code{shell} interactively. You will be asked for the remote shell | ||
| 2559 | path, if you are on a remote buffer, and if | ||
| 2560 | @option{explicit-shell-file-name} is equal to @code{nil}. | ||
| 2561 | @end ifset | ||
| 2562 | |||
| 2563 | |||
| 2564 | @subsection Running @code{shell-command} on a remote host | ||
| 2544 | @cindex shell-command | 2565 | @cindex shell-command |
| 2545 | 2566 | ||
| 2546 | @code{shell-command} allows to execute commands in a shell, either | 2567 | @code{shell-command} allows to execute commands in a shell, either |
| @@ -2556,13 +2577,13 @@ You will see the buffer @file{*Async Shell Command*}, containing the | |||
| 2556 | continuous output of the @command{tail} command. | 2577 | continuous output of the @command{tail} command. |
| 2557 | 2578 | ||
| 2558 | 2579 | ||
| 2559 | @subsection Running eshell on a remote host | 2580 | @subsection Running @code{eshell} on a remote host |
| 2560 | @cindex eshell | 2581 | @cindex eshell |
| 2561 | 2582 | ||
| 2562 | @value{tramp} is integrated into @file{eshell.el}. That is, you can | 2583 | @value{tramp} is integrated into @file{eshell.el}. That is, you can |
| 2563 | open an interactive shell on your remote host, and run commands there. | 2584 | open an interactive shell on your remote host, and run commands there. |
| 2564 | After you have started @code{eshell}, you could perform commands like | 2585 | After you have started @code{M-x eshell}, you could perform commands |
| 2565 | this: | 2586 | like this: |
| 2566 | 2587 | ||
| 2567 | @example | 2588 | @example |
| 2568 | @b{~ $} cd @trampfn{sudo, , , /etc} @key{RET} | 2589 | @b{~ $} cd @trampfn{sudo, , , /etc} @key{RET} |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 862ce24d29a..cbe46d3a53e 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2011-03-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * NEWS: Document warning about _emacs. | ||
| 4 | |||
| 5 | 2011-03-14 Michael Albinus <michael.albinus@gmx.de> | ||
| 6 | |||
| 7 | * NEWS: `shell' prompts for the shell path name, when the default | ||
| 8 | directory is a remote file name and neither environment variable | ||
| 9 | $ESHELL nor variable `explicit-shell-file-name' is set. | ||
| 10 | |||
| 1 | 2011-03-08 Kristoffer Grönlund <krig@koru.se> | 11 | 2011-03-08 Kristoffer Grönlund <krig@koru.se> |
| 2 | 12 | ||
| 3 | * themes/wombat-theme.el: New file. | 13 | * themes/wombat-theme.el: New file. |
| @@ -62,6 +62,8 @@ longer have any effect. (They were declared obsolete in Emacs 23.) | |||
| 62 | ** New command line option `--no-site-lisp' removes site-lisp directories | 62 | ** New command line option `--no-site-lisp' removes site-lisp directories |
| 63 | from load-path. -Q now implies this. | 63 | from load-path. -Q now implies this. |
| 64 | 64 | ||
| 65 | ** On Windows, Emacs now warns when the obsolete _emacs init file is used. | ||
| 66 | |||
| 65 | 67 | ||
| 66 | * Changes in Emacs 24.1 | 68 | * Changes in Emacs 24.1 |
| 67 | 69 | ||
| @@ -335,6 +337,10 @@ between applications. | |||
| 335 | the lines in the current rectangle. With an prefix argument, this | 337 | the lines in the current rectangle. With an prefix argument, this |
| 336 | prompts for a number to count from and for a format string. | 338 | prompts for a number to count from and for a format string. |
| 337 | 339 | ||
| 340 | ** The command shell prompts for the shell path name, when the default | ||
| 341 | directory is a remote file name and neither environment variable | ||
| 342 | $ESHELL nor variable `explicit-shell-file-name' is set. | ||
| 343 | |||
| 338 | 344 | ||
| 339 | * Changes in Specialized Modes and Packages in Emacs 24.1 | 345 | * Changes in Specialized Modes and Packages in Emacs 24.1 |
| 340 | 346 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c74e7cbdb2d..5164207a5ce 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,119 @@ | |||
| 1 | 2011-03-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * custom.el (custom-known-themes): Reflow docstring. | ||
| 4 | (custom-theme-load-path): Fix typo in docstring. | ||
| 5 | (load-theme): Fix typo in error message. | ||
| 6 | (custom-available-themes, custom-variable-theme-value): | ||
| 7 | Use `let', not `let*'. | ||
| 8 | |||
| 9 | 2011-03-17 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 10 | |||
| 11 | * calc/README: Mention inclusion of musical notes. | ||
| 12 | |||
| 13 | * calc/calc-units.el (calc-lu-quant): Rename from | ||
| 14 | `calc-logunits-quantity'. | ||
| 15 | (calcFunc-lupquant): Rename from `calcFunc-powerquant'. | ||
| 16 | (calcFunc-lufquant): Rename from `calcFunc-fieldquant'. | ||
| 17 | (calc-db): Rename from `calc-dblevel'. | ||
| 18 | (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'. | ||
| 19 | (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'. | ||
| 20 | (calc-np): Rename from `calc-nplevel'. | ||
| 21 | (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'. | ||
| 22 | (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'. | ||
| 23 | (calc-lu-plus): Rename from `calc-logunits-add'. | ||
| 24 | (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'. | ||
| 25 | (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'. | ||
| 26 | (calc-lu-minus): Rename from `calc-logunits-sub'. | ||
| 27 | (calcFunc-lupsub): Rename from `calcFunc-lupowersub'. | ||
| 28 | (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'. | ||
| 29 | (calc-lu-times): Rename from `calc-logunits-mul'. | ||
| 30 | (calcFunc-lupmul): Rename from `calcFunc-lupowermul'. | ||
| 31 | (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'. | ||
| 32 | (calc-lu-divide): Rename from `calc-logunits-div'. | ||
| 33 | (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'. | ||
| 34 | (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'. | ||
| 35 | |||
| 36 | * calc/calc-ext.el (calc-init-extensions): Update the names of the | ||
| 37 | functions being autoloaded. | ||
| 38 | |||
| 39 | * calc/calc.el (calc-lu-power-reference): Rename from | ||
| 40 | `calc-logunits-power-reference'. | ||
| 41 | (calc-lu-field-reference): Rename from | ||
| 42 | `calc-logunits-field-reference'. | ||
| 43 | |||
| 44 | * calc/calc-help (calc-l-prefix-help): Mention musical note functions. | ||
| 45 | |||
| 46 | 2011-03-17 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 47 | |||
| 48 | * minibuffer.el (completion-all-sorted-completions): | ||
| 49 | Use :completion-cycle-penalty text property if present. | ||
| 50 | |||
| 51 | 2011-03-16 Ken Manheimer <ken.manheimer@gmail.com> | ||
| 52 | |||
| 53 | * allout.el (allout-yank-processing): Adjust for new rebulleting | ||
| 54 | regime so bullet being yanked is used without prompting the user | ||
| 55 | for a choice. | ||
| 56 | |||
| 57 | 2011-03-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 58 | |||
| 59 | * startup.el (command-line): Warn the user that _emacs is deprecated. | ||
| 60 | |||
| 61 | 2011-03-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 62 | |||
| 63 | * progmodes/delphi.el (delphi-search-path, delphi-indent-level) | ||
| 64 | (delphi-verbose, delphi-comment-face, delphi-string-face) | ||
| 65 | (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line) | ||
| 66 | (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab) | ||
| 67 | (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment) | ||
| 68 | (delphi-new-comment-line, delphi-font-lock-defaults) | ||
| 69 | (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode): | ||
| 70 | Fix typos in docstrings. | ||
| 71 | |||
| 72 | 2011-03-15 Ken Manheimer <ken.manheimer@gmail.com> | ||
| 73 | |||
| 74 | * allout.el (allout-make-topic-prefix, allout-rebullet-heading): | ||
| 75 | Invert the roles of character and string values for INSTEAD, so a | ||
| 76 | string is used for the more common case of a defaulting prompt. | ||
| 77 | |||
| 78 | 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 79 | |||
| 80 | * progmodes/ruby-mode.el (ruby-backward-sexp): | ||
| 81 | * progmodes/ebrowse.el (ebrowse-draw-file-member-info): | ||
| 82 | * play/gamegrid.el (gamegrid-make-face): | ||
| 83 | * play/bubbles.el (bubbles--grid-width, bubbles--grid-height) | ||
| 84 | (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images): | ||
| 85 | * notifications.el (notifications-notify): | ||
| 86 | * net/xesam.el (xesam-search-engines): | ||
| 87 | * net/quickurl.el (quickurl-list-insert): | ||
| 88 | * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case. | ||
| 89 | |||
| 90 | 2011-03-15 Chong Yidong <cyd@stupidchicken.com> | ||
| 91 | |||
| 92 | * startup.el (command-line): Update package subdirectory regexp. | ||
| 93 | |||
| 94 | 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 95 | |||
| 96 | * allout.el (allout-abbreviate-flattened-numbering) | ||
| 97 | (allout-mode-deactivate-hook): Fix up obsolescence "date". | ||
| 98 | |||
| 99 | * subr.el (read-char-choice): Only show the cursor after the prompt, | ||
| 100 | not after the answer. | ||
| 101 | |||
| 102 | 2011-03-15 Kevin Ryde <user42@zip.com.au> | ||
| 103 | |||
| 104 | * help-fns.el (variable-at-point): Skip leading quotes, if any | ||
| 105 | (bug#8253). | ||
| 106 | |||
| 107 | 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 108 | |||
| 109 | * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the | ||
| 110 | warning message. | ||
| 111 | |||
| 112 | 2011-03-14 Michael Albinus <michael.albinus@gmx.de> | ||
| 113 | |||
| 114 | * shell.el (shell): When called interactively, offer to change the | ||
| 115 | shell file name on remote hosts. | ||
| 116 | |||
| 1 | 2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> | 117 | 2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> |
| 2 | 118 | ||
| 3 | * net/ldap.el (ldap-search-internal): Add `auth-source-search' | 119 | * net/ldap.el (ldap-search-internal): Add `auth-source-search' |
diff --git a/lisp/allout.el b/lisp/allout.el index 91eaa28fdaf..3fb8ed7ccd5 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -310,6 +310,7 @@ Auto-layout is not. | |||
| 310 | 310 | ||
| 311 | With value nil, inhibit any automatic allout-mode activation." | 311 | With value nil, inhibit any automatic allout-mode activation." |
| 312 | :set 'allout-auto-activation-helper | 312 | :set 'allout-auto-activation-helper |
| 313 | ;; FIXME: Using strings here is unusual and less efficient than symbols. | ||
| 313 | :type '(choice (const :tag "On" t) | 314 | :type '(choice (const :tag "On" t) |
| 314 | (const :tag "Ask about layout" "ask") | 315 | (const :tag "Ask about layout" "ask") |
| 315 | (const :tag "Mode only" "activate") | 316 | (const :tag "Mode only" "activate") |
| @@ -752,7 +753,7 @@ Set this var to the bullet you want to use for file cross-references." | |||
| 752 | 753 | ||
| 753 | ;;;_ = allout-flattened-numbering-abbreviation | 754 | ;;;_ = allout-flattened-numbering-abbreviation |
| 754 | (define-obsolete-variable-alias 'allout-abbreviate-flattened-numbering | 755 | (define-obsolete-variable-alias 'allout-abbreviate-flattened-numbering |
| 755 | 'allout-flattened-numbering-abbreviation "24.0") | 756 | 'allout-flattened-numbering-abbreviation "24.1") |
| 756 | (defcustom allout-flattened-numbering-abbreviation nil | 757 | (defcustom allout-flattened-numbering-abbreviation nil |
| 757 | "If non-nil, `allout-flatten-exposed-to-buffer' abbreviates topic | 758 | "If non-nil, `allout-flatten-exposed-to-buffer' abbreviates topic |
| 758 | numbers to minimal amount with some context. Otherwise, entire | 759 | numbers to minimal amount with some context. Otherwise, entire |
| @@ -1402,7 +1403,7 @@ their settings before allout-mode was started." | |||
| 1402 | (defvar allout-mode-deactivate-hook nil | 1403 | (defvar allout-mode-deactivate-hook nil |
| 1403 | "*Hook that's run when allout mode ends.") | 1404 | "*Hook that's run when allout mode ends.") |
| 1404 | (define-obsolete-variable-alias 'allout-mode-deactivate-hook | 1405 | (define-obsolete-variable-alias 'allout-mode-deactivate-hook |
| 1405 | 'allout-mode-off-hook "future") | 1406 | 'allout-mode-off-hook "24.1") |
| 1406 | ;;;_ = allout-exposure-category | 1407 | ;;;_ = allout-exposure-category |
| 1407 | (defvar allout-exposure-category nil | 1408 | (defvar allout-exposure-category nil |
| 1408 | "Symbol for use as allout invisible-text overlay category.") | 1409 | "Symbol for use as allout invisible-text overlay category.") |
| @@ -3495,8 +3496,8 @@ the current topics' depth. | |||
| 3495 | If INSTEAD is: | 3496 | If INSTEAD is: |
| 3496 | 3497 | ||
| 3497 | - nil, then the bullet char for the context is used, per distinction or depth | 3498 | - nil, then the bullet char for the context is used, per distinction or depth |
| 3498 | - a string, then the first character of the string will be used | 3499 | - a \(numeric) character, then character's string representation is used |
| 3499 | - a character, then the user is solicited for bullet, with that char as default | 3500 | - a string, then the user is asked for bullet with the first char as default |
| 3500 | - anything else, the user is solicited with bullet char per context as default | 3501 | - anything else, the user is solicited with bullet char per context as default |
| 3501 | 3502 | ||
| 3502 | \(INSTEAD overrides other options, including, eg, a distinctive | 3503 | \(INSTEAD overrides other options, including, eg, a distinctive |
| @@ -3553,10 +3554,12 @@ index for each successive sibling)." | |||
| 3553 | ((progn (setq body (make-string (- depth 2) ?\ )) | 3554 | ((progn (setq body (make-string (- depth 2) ?\ )) |
| 3554 | ;; The actual condition: | 3555 | ;; The actual condition: |
| 3555 | instead) | 3556 | instead) |
| 3556 | (let* ((got | 3557 | (let ((got (cond ((stringp instead) |
| 3557 | (if (and (stringp instead)(> (length instead) 0)) | 3558 | (if (> (length instead) 0) |
| 3558 | (substring instead 0 1) | 3559 | (allout-solicit-alternate-bullet |
| 3559 | (allout-solicit-alternate-bullet depth instead)))) | 3560 | depth (substring instead 0 1)))) |
| 3561 | ((characterp instead) (char-to-string instead)) | ||
| 3562 | (t (allout-solicit-alternate-bullet depth))))) | ||
| 3560 | ;; Gotta check whether we're numbering and got a numbered bullet: | 3563 | ;; Gotta check whether we're numbering and got a numbered bullet: |
| 3561 | (setq numbering (and allout-numbered-bullet | 3564 | (setq numbering (and allout-numbered-bullet |
| 3562 | (not (and number-control (not index))) | 3565 | (not (and number-control (not index))) |
| @@ -3950,8 +3953,8 @@ All args are optional. | |||
| 3950 | 3953 | ||
| 3951 | If INSTEAD is: | 3954 | If INSTEAD is: |
| 3952 | - nil, then the bullet char for the context is used, per distinction or depth | 3955 | - nil, then the bullet char for the context is used, per distinction or depth |
| 3953 | - a string, then the first character of the string will be used | 3956 | - a \(numeric) character, then character's string representation is used |
| 3954 | - a character, then the user is solicited for bullet, with that char as default | 3957 | - a string, then the user is asked for bullet with the first char as default |
| 3955 | - anything else, the user is solicited with bullet char per context as default | 3958 | - anything else, the user is solicited with bullet char per context as default |
| 3956 | 3959 | ||
| 3957 | Second arg DEPTH forces the topic prefix to that depth, regardless | 3960 | Second arg DEPTH forces the topic prefix to that depth, regardless |
| @@ -4596,7 +4599,7 @@ however, are left exactly like normal, non-allout-specific yanks." | |||
| 4596 | (if (looking-at " ") | 4599 | (if (looking-at " ") |
| 4597 | (delete-char 1)))) | 4600 | (delete-char 1)))) |
| 4598 | ;; Assert new topic's bullet - minimal effort if unchanged: | 4601 | ;; Assert new topic's bullet - minimal effort if unchanged: |
| 4599 | (allout-rebullet-heading prefix-bullet)) | 4602 | (allout-rebullet-heading (string-to-char prefix-bullet))) |
| 4600 | (exchange-point-and-mark)))) | 4603 | (exchange-point-and-mark)))) |
| 4601 | (if rectify-numbering | 4604 | (if rectify-numbering |
| 4602 | (progn | 4605 | (progn |
diff --git a/lisp/calc/README b/lisp/calc/README index 533b80baeb0..308b5115aa2 100644 --- a/lisp/calc/README +++ b/lisp/calc/README | |||
| @@ -72,6 +72,8 @@ Summary of changes to "Calc" | |||
| 72 | 72 | ||
| 73 | Emacs 24.1 | 73 | Emacs 24.1 |
| 74 | 74 | ||
| 75 | * Support for musical notes added. | ||
| 76 | |||
| 75 | * Support for logarithmic units added. | 77 | * Support for logarithmic units added. |
| 76 | 78 | ||
| 77 | * Calc no longer uses the tex prefix for TeX specific unit | 79 | * Calc no longer uses the tex prefix for TeX specific unit |
diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el index 11a26d6d125..9ea773fbb98 100644 --- a/lisp/calc/calc-ext.el +++ b/lisp/calc/calc-ext.el | |||
| @@ -422,13 +422,13 @@ | |||
| 422 | (define-key calc-mode-map "kT" 'calc-utpt) | 422 | (define-key calc-mode-map "kT" 'calc-utpt) |
| 423 | 423 | ||
| 424 | (define-key calc-mode-map "l" nil) | 424 | (define-key calc-mode-map "l" nil) |
| 425 | (define-key calc-mode-map "lq" 'calc-logunits-quantity) | 425 | (define-key calc-mode-map "lq" 'calc-lu-quant) |
| 426 | (define-key calc-mode-map "ld" 'calc-dblevel) | 426 | (define-key calc-mode-map "ld" 'calc-db) |
| 427 | (define-key calc-mode-map "ln" 'calc-nplevel) | 427 | (define-key calc-mode-map "ln" 'calc-np) |
| 428 | (define-key calc-mode-map "l+" 'calc-logunits-add) | 428 | (define-key calc-mode-map "l+" 'calc-lu-plus) |
| 429 | (define-key calc-mode-map "l-" 'calc-logunits-sub) | 429 | (define-key calc-mode-map "l-" 'calc-lu-minus) |
| 430 | (define-key calc-mode-map "l*" 'calc-logunits-mul) | 430 | (define-key calc-mode-map "l*" 'calc-lu-times) |
| 431 | (define-key calc-mode-map "l/" 'calc-logunits-divide) | 431 | (define-key calc-mode-map "l/" 'calc-lu-divide) |
| 432 | (define-key calc-mode-map "ls" 'calc-spn) | 432 | (define-key calc-mode-map "ls" 'calc-spn) |
| 433 | (define-key calc-mode-map "lm" 'calc-midi) | 433 | (define-key calc-mode-map "lm" 'calc-midi) |
| 434 | (define-key calc-mode-map "lf" 'calc-freq) | 434 | (define-key calc-mode-map "lf" 'calc-freq) |
| @@ -943,12 +943,11 @@ calc-store-value calc-var-name) | |||
| 943 | ("calc-stuff" calc-explain-why calcFunc-clean | 943 | ("calc-stuff" calc-explain-why calcFunc-clean |
| 944 | calcFunc-pclean calcFunc-pfloat calcFunc-pfrac) | 944 | calcFunc-pclean calcFunc-pfloat calcFunc-pfrac) |
| 945 | 945 | ||
| 946 | ("calc-units" calcFunc-usimplify calcFunc-lufieldadd | 946 | ("calc-units" calcFunc-usimplify calcFunc-lufadd calcFunc-lupadd |
| 947 | calcFunc-lupoweradd calcFunc-lufieldsub calcFunc-lupowersub | 947 | calcFunc-lufsub calcFunc-lupsub calcFunc-lufmul calcFunc-lupmul |
| 948 | calcFunc-lufieldmul calcFunc-lupowermul calcFunc-lufielddiv | 948 | calcFunc-lufdiv calcFunc-lupdiv calcFunc-lufquant calcFunc-lupquant |
| 949 | calcFunc-lupowerdiv calcFunc-fieldquant calcFunc-powerquant | 949 | calcFunc-dbfield calcFunc-dbpower calcFunc-npfield |
| 950 | calcFunc-dbfieldlevel calcFunc-dbpowerlevel calcFunc-npfieldlevel | 950 | calcFunc-nppower calcFunc-spn calcFunc-midi calcFunc-freq |
| 951 | calcFunc-nppowerlevel calcFunc-spn calcFunc-midi calcFunc-freq | ||
| 952 | math-build-units-table math-build-units-table-buffer | 951 | math-build-units-table math-build-units-table-buffer |
| 953 | math-check-unit-name math-convert-temperature math-convert-units | 952 | math-check-unit-name math-convert-temperature math-convert-units |
| 954 | math-extract-units math-remove-units math-simplify-units | 953 | math-extract-units math-remove-units math-simplify-units |
| @@ -1180,9 +1179,9 @@ calc-convert-temperature calc-convert-units calc-define-unit | |||
| 1180 | calc-enter-units-table calc-explain-units calc-extract-units | 1179 | calc-enter-units-table calc-explain-units calc-extract-units |
| 1181 | calc-get-unit-definition calc-permanent-units calc-quick-units | 1180 | calc-get-unit-definition calc-permanent-units calc-quick-units |
| 1182 | calc-remove-units calc-simplify-units calc-undefine-unit | 1181 | calc-remove-units calc-simplify-units calc-undefine-unit |
| 1183 | calc-view-units-table calc-logunits-quantity calc-dblevel | 1182 | calc-view-units-table calc-lu-quant calc-db |
| 1184 | calc-nplevel calc-logunits-add calc-logunits-sub | 1183 | calc-np calc-lu-plus calc-lu-minus |
| 1185 | calc-logunits-mul calc-logunits-divide calc-spn calc-midi | 1184 | calc-lu-times calc-lu-divide calc-spn calc-midi |
| 1186 | calc-freq) | 1185 | calc-freq) |
| 1187 | 1186 | ||
| 1188 | ("calc-vec" calc-arrange-vector calc-build-vector calc-cnorm | 1187 | ("calc-vec" calc-arrange-vector calc-build-vector calc-cnorm |
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index d688b31b3cb..427cf6ba233 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el | |||
| @@ -673,7 +673,9 @@ C-w Describe how there is no warranty for Calc." | |||
| 673 | (interactive) | 673 | (interactive) |
| 674 | (calc-do-prefix-help | 674 | (calc-do-prefix-help |
| 675 | '("Quantity, DB level, Np level" | 675 | '("Quantity, DB level, Np level" |
| 676 | "+, -, *, /") | 676 | "+, -, *, /" |
| 677 | "Scientific pitch notation, Midi number, Frequency" | ||
| 678 | ) | ||
| 677 | "log units" ?l)) | 679 | "log units" ?l)) |
| 678 | 680 | ||
| 679 | (defun calc-v-prefix-help () | 681 | (defun calc-v-prefix-help () |
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index 7f0adc9fe7e..43cb5828e85 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el | |||
| @@ -1623,39 +1623,39 @@ In symbolic mode, return the list (^ a b)." | |||
| 1623 | coef))) | 1623 | coef))) |
| 1624 | units))))))) | 1624 | units))))))) |
| 1625 | 1625 | ||
| 1626 | (defun calcFunc-lufieldplus (a b) | 1626 | (defun calcFunc-lufadd (a b) |
| 1627 | (math-logunits-add a b nil nil)) | 1627 | (math-logunits-add a b nil nil)) |
| 1628 | 1628 | ||
| 1629 | (defun calcFunc-lupowerplus (a b) | 1629 | (defun calcFunc-lupadd (a b) |
| 1630 | (math-logunits-add a b nil t)) | 1630 | (math-logunits-add a b nil t)) |
| 1631 | 1631 | ||
| 1632 | (defun calcFunc-lufieldminus (a b) | 1632 | (defun calcFunc-lufsub (a b) |
| 1633 | (math-logunits-add a b t nil)) | 1633 | (math-logunits-add a b t nil)) |
| 1634 | 1634 | ||
| 1635 | (defun calcFunc-lupowerminus (a b) | 1635 | (defun calcFunc-lupsub (a b) |
| 1636 | (math-logunits-add a b t t)) | 1636 | (math-logunits-add a b t t)) |
| 1637 | 1637 | ||
| 1638 | (defun calc-logunits-add (arg) | 1638 | (defun calc-lu-plus (arg) |
| 1639 | (interactive "P") | 1639 | (interactive "P") |
| 1640 | (calc-slow-wrapper | 1640 | (calc-slow-wrapper |
| 1641 | (if (calc-is-inverse) | 1641 | (if (calc-is-inverse) |
| 1642 | (if (calc-is-hyperbolic) | 1642 | (if (calc-is-hyperbolic) |
| 1643 | (calc-binary-op "lu-" 'calcFunc-lufieldminus arg) | 1643 | (calc-binary-op "lu-" 'calcFunc-lufsub arg) |
| 1644 | (calc-binary-op "lu-" 'calcFunc-lupowerminus arg)) | 1644 | (calc-binary-op "lu-" 'calcFunc-lupsub arg)) |
| 1645 | (if (calc-is-hyperbolic) | 1645 | (if (calc-is-hyperbolic) |
| 1646 | (calc-binary-op "lu+" 'calcFunc-lufieldplus arg) | 1646 | (calc-binary-op "lu+" 'calcFunc-lufadd arg) |
| 1647 | (calc-binary-op "lu+" 'calcFunc-lupowerplus arg))))) | 1647 | (calc-binary-op "lu+" 'calcFunc-lupadd arg))))) |
| 1648 | 1648 | ||
| 1649 | (defun calc-logunits-sub (arg) | 1649 | (defun calc-lu-minus (arg) |
| 1650 | (interactive "P") | 1650 | (interactive "P") |
| 1651 | (calc-slow-wrapper | 1651 | (calc-slow-wrapper |
| 1652 | (if (calc-is-inverse) | 1652 | (if (calc-is-inverse) |
| 1653 | (if (calc-is-hyperbolic) | 1653 | (if (calc-is-hyperbolic) |
| 1654 | (calc-binary-op "lu+" 'calcFunc-lufieldplus arg) | 1654 | (calc-binary-op "lu+" 'calcFunc-lufadd arg) |
| 1655 | (calc-binary-op "lu+" 'calcFunc-lupowerplus arg)) | 1655 | (calc-binary-op "lu+" 'calcFunc-lupadd arg)) |
| 1656 | (if (calc-is-hyperbolic) | 1656 | (if (calc-is-hyperbolic) |
| 1657 | (calc-binary-op "lu-" 'calcFunc-lufieldminus arg) | 1657 | (calc-binary-op "lu-" 'calcFunc-lufsub arg) |
| 1658 | (calc-binary-op "lu-" 'calcFunc-lupowerminus arg))))) | 1658 | (calc-binary-op "lu-" 'calcFunc-lupsub arg))))) |
| 1659 | 1659 | ||
| 1660 | (defun math-logunits-mul (a b power) | 1660 | (defun math-logunits-mul (a b power) |
| 1661 | (let (logunit coef units number) | 1661 | (let (logunit coef units number) |
| @@ -1719,39 +1719,39 @@ In symbolic mode, return the list (^ a b)." | |||
| 1719 | (math-div (math-conditional-apply 'calcFunc-ln b) (if power 2 1))) | 1719 | (math-div (math-conditional-apply 'calcFunc-ln b) (if power 2 1))) |
| 1720 | units))))))))) | 1720 | units))))))))) |
| 1721 | 1721 | ||
| 1722 | (defun calcFunc-lufieldtimes (a b) | 1722 | (defun calcFunc-lufmul (a b) |
| 1723 | (math-logunits-mul a b nil)) | 1723 | (math-logunits-mul a b nil)) |
| 1724 | 1724 | ||
| 1725 | (defun calcFunc-lupowertimes (a b) | 1725 | (defun calcFunc-lupmul (a b) |
| 1726 | (math-logunits-mul a b t)) | 1726 | (math-logunits-mul a b t)) |
| 1727 | 1727 | ||
| 1728 | (defun calc-logunits-mul (arg) | 1728 | (defun calc-lu-times (arg) |
| 1729 | (interactive "P") | 1729 | (interactive "P") |
| 1730 | (calc-slow-wrapper | 1730 | (calc-slow-wrapper |
| 1731 | (if (calc-is-inverse) | 1731 | (if (calc-is-inverse) |
| 1732 | (if (calc-is-hyperbolic) | 1732 | (if (calc-is-hyperbolic) |
| 1733 | (calc-binary-op "lu/" 'calcFunc-lufielddiv arg) | 1733 | (calc-binary-op "lu/" 'calcFunc-lufdiv arg) |
| 1734 | (calc-binary-op "lu/" 'calcFunc-lupowerdiv arg)) | 1734 | (calc-binary-op "lu/" 'calcFunc-lupdiv arg)) |
| 1735 | (if (calc-is-hyperbolic) | 1735 | (if (calc-is-hyperbolic) |
| 1736 | (calc-binary-op "lu*" 'calcFunc-lufieldtimes arg) | 1736 | (calc-binary-op "lu*" 'calcFunc-lufmul arg) |
| 1737 | (calc-binary-op "lu*" 'calcFunc-lupowertimes arg))))) | 1737 | (calc-binary-op "lu*" 'calcFunc-lupmul arg))))) |
| 1738 | 1738 | ||
| 1739 | (defun calcFunc-lufielddiv (a b) | 1739 | (defun calcFunc-lufdiv (a b) |
| 1740 | (math-logunits-divide a b nil)) | 1740 | (math-logunits-divide a b nil)) |
| 1741 | 1741 | ||
| 1742 | (defun calcFunc-lupowerdiv (a b) | 1742 | (defun calcFunc-lupdiv (a b) |
| 1743 | (math-logunits-divide a b t)) | 1743 | (math-logunits-divide a b t)) |
| 1744 | 1744 | ||
| 1745 | (defun calc-logunits-divide (arg) | 1745 | (defun calc-lu-divide (arg) |
| 1746 | (interactive "P") | 1746 | (interactive "P") |
| 1747 | (calc-slow-wrapper | 1747 | (calc-slow-wrapper |
| 1748 | (if (calc-is-inverse) | 1748 | (if (calc-is-inverse) |
| 1749 | (if (calc-is-hyperbolic) | 1749 | (if (calc-is-hyperbolic) |
| 1750 | (calc-binary-op "lu*" 'calcFunc-lufieldtimes arg) | 1750 | (calc-binary-op "lu*" 'calcFunc-lufmul arg) |
| 1751 | (calc-binary-op "lu*" 'calcFunc-lupowertimes arg)) | 1751 | (calc-binary-op "lu*" 'calcFunc-lupmul arg)) |
| 1752 | (if (calc-is-hyperbolic) | 1752 | (if (calc-is-hyperbolic) |
| 1753 | (calc-binary-op "lu/" 'calcFunc-lufielddiv arg) | 1753 | (calc-binary-op "lu/" 'calcFunc-lufdiv arg) |
| 1754 | (calc-binary-op "lu/" 'calcFunc-lupowerdiv arg))))) | 1754 | (calc-binary-op "lu/" 'calcFunc-lupdiv arg))))) |
| 1755 | 1755 | ||
| 1756 | (defun math-logunits-quant (val ref power) | 1756 | (defun math-logunits-quant (val ref power) |
| 1757 | (let* ((units (math-simplify (math-extract-units val))) | 1757 | (let* ((units (math-simplify (math-extract-units val))) |
| @@ -1777,29 +1777,29 @@ In symbolic mode, return the list (^ a b)." | |||
| 1777 | coeff)))) | 1777 | coeff)))) |
| 1778 | runits))))) | 1778 | runits))))) |
| 1779 | 1779 | ||
| 1780 | (defvar calc-logunits-field-reference) | 1780 | (defvar calc-lu-field-reference) |
| 1781 | (defvar calc-logunits-power-reference) | 1781 | (defvar calc-lu-power-reference) |
| 1782 | 1782 | ||
| 1783 | (defun calcFunc-fieldquant (val &optional ref) | 1783 | (defun calcFunc-lufquant (val &optional ref) |
| 1784 | (unless ref | 1784 | (unless ref |
| 1785 | (setq ref (math-read-expr calc-logunits-field-reference))) | 1785 | (setq ref (math-read-expr calc-lu-field-reference))) |
| 1786 | (math-logunits-quant val ref nil)) | 1786 | (math-logunits-quant val ref nil)) |
| 1787 | 1787 | ||
| 1788 | (defun calcFunc-powerquant (val &optional ref) | 1788 | (defun calcFunc-lupquant (val &optional ref) |
| 1789 | (unless ref | 1789 | (unless ref |
| 1790 | (setq ref (math-read-expr calc-logunits-power-reference))) | 1790 | (setq ref (math-read-expr calc-lu-power-reference))) |
| 1791 | (math-logunits-quant val ref t)) | 1791 | (math-logunits-quant val ref t)) |
| 1792 | 1792 | ||
| 1793 | (defun calc-logunits-quantity (arg) | 1793 | (defun calc-lu-quant (arg) |
| 1794 | (interactive "P") | 1794 | (interactive "P") |
| 1795 | (calc-slow-wrapper | 1795 | (calc-slow-wrapper |
| 1796 | (if (calc-is-hyperbolic) | 1796 | (if (calc-is-hyperbolic) |
| 1797 | (if (calc-is-option) | 1797 | (if (calc-is-option) |
| 1798 | (calc-binary-op "lupq" 'calcFunc-fieldquant arg) | 1798 | (calc-binary-op "lupq" 'calcFunc-lufquant arg) |
| 1799 | (calc-unary-op "lupq" 'calcFunc-fieldquant arg)) | 1799 | (calc-unary-op "lupq" 'calcFunc-lufquant arg)) |
| 1800 | (if (calc-is-option) | 1800 | (if (calc-is-option) |
| 1801 | (calc-binary-op "lufq" 'calcFunc-powerquant arg) | 1801 | (calc-binary-op "lufq" 'calcFunc-lupquant arg) |
| 1802 | (calc-unary-op "lufq" 'calcFunc-powerquant arg))))) | 1802 | (calc-unary-op "lufq" 'calcFunc-lupquant arg))))) |
| 1803 | 1803 | ||
| 1804 | (defun math-logunits-level (val ref db power) | 1804 | (defun math-logunits-level (val ref db power) |
| 1805 | "Compute the value of VAL in decibels or nepers." | 1805 | "Compute the value of VAL in decibels or nepers." |
| @@ -1817,47 +1817,47 @@ In symbolic mode, return the list (^ a b)." | |||
| 1817 | '(var Np var-Np))) | 1817 | '(var Np var-Np))) |
| 1818 | units))) | 1818 | units))) |
| 1819 | 1819 | ||
| 1820 | (defun calcFunc-dbfieldlevel (val &optional ref) | 1820 | (defun calcFunc-dbfield (val &optional ref) |
| 1821 | (unless ref | 1821 | (unless ref |
| 1822 | (setq ref (math-read-expr calc-logunits-field-reference))) | 1822 | (setq ref (math-read-expr calc-lu-field-reference))) |
| 1823 | (math-logunits-level val ref t nil)) | 1823 | (math-logunits-level val ref t nil)) |
| 1824 | 1824 | ||
| 1825 | (defun calcFunc-dbpowerlevel (val &optional ref) | 1825 | (defun calcFunc-dbpower (val &optional ref) |
| 1826 | (unless ref | 1826 | (unless ref |
| 1827 | (setq ref (math-read-expr calc-logunits-power-reference))) | 1827 | (setq ref (math-read-expr calc-lu-power-reference))) |
| 1828 | (math-logunits-level val ref t t)) | 1828 | (math-logunits-level val ref t t)) |
| 1829 | 1829 | ||
| 1830 | (defun calcFunc-npfieldlevel (val &optional ref) | 1830 | (defun calcFunc-npfield (val &optional ref) |
| 1831 | (unless ref | 1831 | (unless ref |
| 1832 | (setq ref (math-read-expr calc-logunits-field-reference))) | 1832 | (setq ref (math-read-expr calc-lu-field-reference))) |
| 1833 | (math-logunits-level val ref nil nil)) | 1833 | (math-logunits-level val ref nil nil)) |
| 1834 | 1834 | ||
| 1835 | (defun calcFunc-nppowerlevel (val &optional ref) | 1835 | (defun calcFunc-nppower (val &optional ref) |
| 1836 | (unless ref | 1836 | (unless ref |
| 1837 | (setq ref (math-read-expr calc-logunits-power-reference))) | 1837 | (setq ref (math-read-expr calc-lu-power-reference))) |
| 1838 | (math-logunits-level val ref nil t)) | 1838 | (math-logunits-level val ref nil t)) |
| 1839 | 1839 | ||
| 1840 | (defun calc-dblevel (arg) | 1840 | (defun calc-db (arg) |
| 1841 | (interactive "P") | 1841 | (interactive "P") |
| 1842 | (calc-slow-wrapper | 1842 | (calc-slow-wrapper |
| 1843 | (if (calc-is-hyperbolic) | 1843 | (if (calc-is-hyperbolic) |
| 1844 | (if (calc-is-option) | 1844 | (if (calc-is-option) |
| 1845 | (calc-binary-op "ludb" 'calcFunc-dbfieldlevel arg) | 1845 | (calc-binary-op "ludb" 'calcFunc-dbfield arg) |
| 1846 | (calc-unary-op "ludb" 'calcFunc-dbfieldlevel arg)) | 1846 | (calc-unary-op "ludb" 'calcFunc-dbfield arg)) |
| 1847 | (if (calc-is-option) | 1847 | (if (calc-is-option) |
| 1848 | (calc-binary-op "ludb" 'calcFunc-dbpowerlevel arg) | 1848 | (calc-binary-op "ludb" 'calcFunc-dbpower arg) |
| 1849 | (calc-unary-op "ludb" 'calcFunc-dbpowerlevel arg))))) | 1849 | (calc-unary-op "ludb" 'calcFunc-dbpower arg))))) |
| 1850 | 1850 | ||
| 1851 | (defun calc-nplevel (arg) | 1851 | (defun calc-np (arg) |
| 1852 | (interactive "P") | 1852 | (interactive "P") |
| 1853 | (calc-slow-wrapper | 1853 | (calc-slow-wrapper |
| 1854 | (if (calc-is-hyperbolic) | 1854 | (if (calc-is-hyperbolic) |
| 1855 | (if (calc-is-option) | 1855 | (if (calc-is-option) |
| 1856 | (calc-binary-op "lunp" 'calcFunc-npfieldlevel arg) | 1856 | (calc-binary-op "lunp" 'calcFunc-npfield arg) |
| 1857 | (calc-unary-op "lunp" 'calcFunc-npfieldlevel arg)) | 1857 | (calc-unary-op "lunp" 'calcFunc-npfield arg)) |
| 1858 | (if (calc-is-option) | 1858 | (if (calc-is-option) |
| 1859 | (calc-binary-op "lunp" 'calcFunc-nppowerlevel arg) | 1859 | (calc-binary-op "lunp" 'calcFunc-nppower arg) |
| 1860 | (calc-unary-op "lunp" 'calcFunc-nppowerlevel arg))))) | 1860 | (calc-unary-op "lunp" 'calcFunc-nppower arg))))) |
| 1861 | 1861 | ||
| 1862 | ;;; Musical notes | 1862 | ;;; Musical notes |
| 1863 | 1863 | ||
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 08ae7b10113..41f549cbe2c 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -434,13 +434,13 @@ by displaying the sub-formula in `calc-selected-face'." | |||
| 434 | :group 'calc | 434 | :group 'calc |
| 435 | :type 'boolean) | 435 | :type 'boolean) |
| 436 | 436 | ||
| 437 | (defcustom calc-logunits-field-reference | 437 | (defcustom calc-lu-field-reference |
| 438 | "20 uPa" | 438 | "20 uPa" |
| 439 | "The default reference level for logarithmic units (field)." | 439 | "The default reference level for logarithmic units (field)." |
| 440 | :group 'calc | 440 | :group 'calc |
| 441 | :type '(string)) | 441 | :type '(string)) |
| 442 | 442 | ||
| 443 | (defcustom calc-logunits-power-reference | 443 | (defcustom calc-lu-power-reference |
| 444 | "mW" | 444 | "mW" |
| 445 | "The default reference level for logarithmic units (power)." | 445 | "The default reference level for logarithmic units (power)." |
| 446 | :group 'calc | 446 | :group 'calc |
diff --git a/lisp/custom.el b/lisp/custom.el index 923321c03c9..cf06fe27f4d 100644 --- a/lisp/custom.el +++ b/lisp/custom.el | |||
| @@ -789,10 +789,10 @@ E.g. dumped variables whose default depends on run-time information." | |||
| 789 | (defvar custom-known-themes '(user changed) | 789 | (defvar custom-known-themes '(user changed) |
| 790 | "Themes that have been defined with `deftheme'. | 790 | "Themes that have been defined with `deftheme'. |
| 791 | The default value is the list (user changed). The theme `changed' | 791 | The default value is the list (user changed). The theme `changed' |
| 792 | contains the settings before custom themes are applied. The | 792 | contains the settings before custom themes are applied. The theme |
| 793 | theme `user' contains all the settings the user customized and saved. | 793 | `user' contains all the settings the user customized and saved. |
| 794 | Additional themes declared with the `deftheme' macro will be added to | 794 | Additional themes declared with the `deftheme' macro will be added |
| 795 | the front of this list.") | 795 | to the front of this list.") |
| 796 | 796 | ||
| 797 | (defsubst custom-theme-p (theme) | 797 | (defsubst custom-theme-p (theme) |
| 798 | "Non-nil when THEME has been defined." | 798 | "Non-nil when THEME has been defined." |
| @@ -1071,7 +1071,7 @@ order. Each element in the list should be one of the following: | |||
| 1071 | named \"themes\" in `data-directory'). | 1071 | named \"themes\" in `data-directory'). |
| 1072 | - a directory name (a string). | 1072 | - a directory name (a string). |
| 1073 | 1073 | ||
| 1074 | Each theme file is named NAME-theme.el, where THEME is the theme | 1074 | Each theme file is named THEME-theme.el, where THEME is the theme |
| 1075 | name." | 1075 | name." |
| 1076 | :type '(repeat (choice (const :tag "custom-theme-directory" | 1076 | :type '(repeat (choice (const :tag "custom-theme-directory" |
| 1077 | custom-theme-directory) | 1077 | custom-theme-directory) |
| @@ -1143,7 +1143,7 @@ Return t if THEME was successfully loaded, nil otherwise." | |||
| 1143 | '("" "c"))) | 1143 | '("" "c"))) |
| 1144 | hash) | 1144 | hash) |
| 1145 | (unless fn | 1145 | (unless fn |
| 1146 | (error "Unable to find theme file for `%s'." theme)) | 1146 | (error "Unable to find theme file for `%s'" theme)) |
| 1147 | (with-temp-buffer | 1147 | (with-temp-buffer |
| 1148 | (insert-file-contents fn) | 1148 | (insert-file-contents fn) |
| 1149 | (setq hash (sha1 (current-buffer))) | 1149 | (setq hash (sha1 (current-buffer))) |
| @@ -1209,7 +1209,7 @@ NAME should be a symbol." | |||
| 1209 | 1209 | ||
| 1210 | (defun custom-available-themes () | 1210 | (defun custom-available-themes () |
| 1211 | "Return a list of available Custom themes (symbols)." | 1211 | "Return a list of available Custom themes (symbols)." |
| 1212 | (let* (sym themes) | 1212 | (let (sym themes) |
| 1213 | (dolist (dir (custom-theme--load-path)) | 1213 | (dolist (dir (custom-theme--load-path)) |
| 1214 | (when (file-directory-p dir) | 1214 | (when (file-directory-p dir) |
| 1215 | (dolist (file (file-expand-wildcards | 1215 | (dolist (file (file-expand-wildcards |
| @@ -1335,7 +1335,7 @@ That is to say, it specifies what the value should be according to | |||
| 1335 | currently enabled custom themes. | 1335 | currently enabled custom themes. |
| 1336 | 1336 | ||
| 1337 | This function returns nil if no custom theme specifies a value for VARIABLE." | 1337 | This function returns nil if no custom theme specifies a value for VARIABLE." |
| 1338 | (let* ((theme-value (get variable 'theme-value))) | 1338 | (let ((theme-value (get variable 'theme-value))) |
| 1339 | (if theme-value | 1339 | (if theme-value |
| 1340 | (cdr (car theme-value))))) | 1340 | (cdr (car theme-value))))) |
| 1341 | 1341 | ||
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 5e24b80ac5a..5c845e59c85 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -3776,7 +3776,8 @@ that suppresses all warnings during execution of BODY." | |||
| 3776 | (defun byte-compile-save-excursion (form) | 3776 | (defun byte-compile-save-excursion (form) |
| 3777 | (if (and (eq 'set-buffer (car-safe (car-safe (cdr form)))) | 3777 | (if (and (eq 'set-buffer (car-safe (car-safe (cdr form)))) |
| 3778 | (byte-compile-warning-enabled-p 'suspicious)) | 3778 | (byte-compile-warning-enabled-p 'suspicious)) |
| 3779 | (byte-compile-warn "`save-excursion' defeated by `set-buffer'")) | 3779 | (byte-compile-warn |
| 3780 | "Use `with-current-buffer' rather than save-excursion+set-buffer")) | ||
| 3780 | (byte-compile-out 'byte-save-excursion 0) | 3781 | (byte-compile-out 'byte-save-excursion 0) |
| 3781 | (byte-compile-body-do-effect (cdr form)) | 3782 | (byte-compile-body-do-effect (cdr form)) |
| 3782 | (byte-compile-out 'byte-unbind 1)) | 3783 | (byte-compile-out 'byte-unbind 1)) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index af0bd1519c7..b22ed7397af 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,82 @@ | |||
| 1 | 2011-03-16 Julien Danjou <julien@danjou.info> | ||
| 2 | |||
| 3 | * mm-uu.el (mm-uu-dissect-text-parts): Only dissect handle that are | ||
| 4 | inline. | ||
| 5 | |||
| 6 | * gnus-art.el (article-hide-list-identifiers): Use | ||
| 7 | gnus-group-get-list-identifiers. | ||
| 8 | |||
| 9 | * gnus-sum.el (gnus-group-get-list-identifiers): New function. | ||
| 10 | (gnus-summary-remove-list-identifiers): Use | ||
| 11 | gnus-group-get-list-identifiers to get regexp. | ||
| 12 | (gnus-select-newsgroup, gnus-summary-insert-subject) | ||
| 13 | (gnus-summary-insert-articles): Call | ||
| 14 | gnus-summary-remove-list-identifiers unconditionally. | ||
| 15 | |||
| 16 | 2011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 17 | |||
| 18 | * gnus-sum.el (gnus-articles-to-read): Revert back to old behaviour if | ||
| 19 | we're selecting a group with unread articles. | ||
| 20 | |||
| 21 | * nnimap.el (nnimap-open-connection-1): Allow `network-only', too. | ||
| 22 | |||
| 23 | * gssapi.el: New file separated out from imap.el to provide a general | ||
| 24 | Kerberos 5 connection facility for Emacs. | ||
| 25 | |||
| 26 | * message.el (message-elide-ellipsis): Document the format spec | ||
| 27 | ellipsis. | ||
| 28 | |||
| 29 | 2011-03-15 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 30 | |||
| 31 | * message.el (message-elide-region): Allow the ellipsis to say how many | ||
| 32 | lines were removed. | ||
| 33 | |||
| 34 | 2011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 35 | |||
| 36 | * gnus-win.el (gnus-configure-frame): Protect against trying to restore | ||
| 37 | window configurations containing buffers that are now dead. | ||
| 38 | |||
| 39 | * nnimap.el (nnimap-parse-flags): Remove all MODSEQ entries before | ||
| 40 | parsing to avoid integer overflows. | ||
| 41 | (nnimap-parse-flags): Simplify the last change. | ||
| 42 | (nnimap-parse-flags): Store HIGHESTMODSEQ as a string, since it may be | ||
| 43 | too large for 32-bit Emacsen. | ||
| 44 | |||
| 45 | 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 46 | |||
| 47 | * auth-source.el (auth-source-netrc-create): | ||
| 48 | * message.el (message-yank-original): Fix use of `case'. | ||
| 49 | |||
| 50 | 2011-03-15 Nelson Ferreira <nelson.ferreira@ieee.org> (tiny change) | ||
| 51 | |||
| 52 | * gnus-art.el (gnus-article-treat-body-boundary): Fix boundary width on | ||
| 53 | XEmacs, which was one character too wide. | ||
| 54 | |||
| 55 | 2011-03-09 Antoine Levitt <antoine.levitt@gmail.com> | ||
| 56 | |||
| 57 | * gnus-sum.el (gnus-articles-to-read): Use gnus-large-newsgroup as | ||
| 58 | default number of articles to display. | ||
| 59 | (gnus-articles-to-read): Use pretty names for prompt. | ||
| 60 | |||
| 61 | 2011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 62 | |||
| 63 | * gnus-int.el (gnus-open-server): Ditto. | ||
| 64 | |||
| 65 | * gnus-start.el (gnus-activate-group): Give a backtrace if | ||
| 66 | debug-on-quit is set and the user hits `C-g'. | ||
| 67 | (gnus-read-active-file): Ditto. | ||
| 68 | |||
| 69 | * gnus-group.el (gnus-group-read-ephemeral-group): Ditto. | ||
| 70 | |||
| 71 | 2011-03-15 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 72 | |||
| 73 | * message.el (message-yank-original): Use cond instead of CL case. | ||
| 74 | |||
| 75 | 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 76 | |||
| 77 | * auth-source.el (auth-source-netrc-create): Use usual format for the | ||
| 78 | default in prompts. | ||
| 79 | |||
| 1 | 2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> | 80 | 2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> |
| 2 | 81 | ||
| 3 | * auth-source.el (auth-source-netrc-create): Show the default in the | 82 | * auth-source.el (auth-source-netrc-create): Show the default in the |
| @@ -15,9 +94,9 @@ | |||
| 15 | 94 | ||
| 16 | 2011-03-11 Teodor Zlatanov <tzz@lifelogs.com> | 95 | 2011-03-11 Teodor Zlatanov <tzz@lifelogs.com> |
| 17 | 96 | ||
| 18 | * gnus-sync.el (gnus-sync-install-hooks, gnus-sync-unload-hook): Don't | 97 | * gnus-sync.el (gnus-sync-install-hooks, gnus-sync-unload-hook): |
| 19 | install `gnus-sync-read' to any hooks by default. It's buggy. The | 98 | Don't install `gnus-sync-read' to any hooks by default. It's buggy. |
| 20 | user will have to run `gnus-sync-read' manually and wait for Cloudy | 99 | The user will have to run `gnus-sync-read' manually and wait for Cloudy |
| 21 | Gnus. | 100 | Gnus. |
| 22 | 101 | ||
| 23 | 2011-03-11 Julien Danjou <julien@danjou.info> | 102 | 2011-03-11 Julien Danjou <julien@danjou.info> |
| @@ -101,8 +180,8 @@ | |||
| 101 | 180 | ||
| 102 | 2011-03-05 Antoine Levitt <antoine.levitt@gmail.com> | 181 | 2011-03-05 Antoine Levitt <antoine.levitt@gmail.com> |
| 103 | 182 | ||
| 104 | * message.el (message-cite-reply-position, message-cite-style): New | 183 | * message.el (message-cite-reply-position, message-cite-style): |
| 105 | variables. | 184 | New variables. |
| 106 | (message-yank-original): Use the new citation styles. | 185 | (message-yank-original): Use the new citation styles. |
| 107 | 186 | ||
| 108 | 2011-03-04 Daiki Ueno <ueno@unixuser.org> | 187 | 2011-03-04 Daiki Ueno <ueno@unixuser.org> |
| @@ -216,14 +295,14 @@ | |||
| 216 | 295 | ||
| 217 | 2011-02-23 Lars Ingebrigtsen <larsi@gnus.org> | 296 | 2011-02-23 Lars Ingebrigtsen <larsi@gnus.org> |
| 218 | 297 | ||
| 219 | * gnus-start.el (gnus-dribble-read-file): Set | 298 | * gnus-start.el (gnus-dribble-read-file): |
| 220 | buffer-save-without-query, since we always want to save the dribble | 299 | Set buffer-save-without-query, since we always want to save the dribble |
| 221 | file, probably. | 300 | file, probably. |
| 222 | 301 | ||
| 223 | * nnmail.el (nnmail-article-group): Allow a final "" split to work on | 302 | * nnmail.el (nnmail-article-group): Allow a final "" split to work on |
| 224 | nnimap. | 303 | nnimap. |
| 225 | 304 | ||
| 226 | * gnus-sum.el (gnus-user-date-format-alist): Renamed back again from | 305 | * gnus-sum.el (gnus-user-date-format-alist): Rename back again from |
| 227 | -summary- since it's a user-visible variable. | 306 | -summary- since it's a user-visible variable. |
| 228 | 307 | ||
| 229 | * nnimap.el (nnimap-retrieve-group-data-early): Don't do QRESYNC the | 308 | * nnimap.el (nnimap-retrieve-group-data-early): Don't do QRESYNC the |
| @@ -469,8 +548,8 @@ | |||
| 469 | 2011-02-14 Teodor Zlatanov <tzz@lifelogs.com> | 548 | 2011-02-14 Teodor Zlatanov <tzz@lifelogs.com> |
| 470 | 549 | ||
| 471 | * auth-source.el (auth-source-backend-parse-parameters): Don't rely on | 550 | * auth-source.el (auth-source-backend-parse-parameters): Don't rely on |
| 472 | `plist-get' to accept non-list parameters (XEmacs issue). Fix | 551 | `plist-get' to accept non-list parameters (XEmacs issue). |
| 473 | docstring. | 552 | Fix docstring. |
| 474 | (auth-source-secrets-search): Use `delete-dups', `append mapcar', and | 553 | (auth-source-secrets-search): Use `delete-dups', `append mapcar', and |
| 475 | `butlast' instead of `remove-duplicates', `mapcan', and `subseq'. | 554 | `butlast' instead of `remove-duplicates', `mapcan', and `subseq'. |
| 476 | (auth-sources, auth-source-backend-parse, auth-source-secrets-search): | 555 | (auth-sources, auth-source-backend-parse, auth-source-secrets-search): |
| @@ -510,8 +589,8 @@ | |||
| 510 | 589 | ||
| 511 | 2011-02-13 Tassilo Horn <tassilo@member.fsf.org> (tiny change) | 590 | 2011-02-13 Tassilo Horn <tassilo@member.fsf.org> (tiny change) |
| 512 | 591 | ||
| 513 | * nnimap.el (nnimap-request-accept-article, nnimap-process-quirk): Fix | 592 | * nnimap.el (nnimap-request-accept-article, nnimap-process-quirk): |
| 514 | Gcc processing on imap. | 593 | Fix Gcc processing on imap. |
| 515 | 594 | ||
| 516 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> | 595 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> |
| 517 | 596 | ||
| @@ -599,8 +678,8 @@ | |||
| 599 | 678 | ||
| 600 | 2011-02-06 Michael Albinus <michael.albinus@gmx.de> | 679 | 2011-02-06 Michael Albinus <michael.albinus@gmx.de> |
| 601 | 680 | ||
| 602 | * auth-source.el (top): Require 'eieio unconditionally. Autoload | 681 | * auth-source.el (top): Require 'eieio unconditionally. |
| 603 | `secrets-get-attributes' instead of `secrets-get-attribute'. | 682 | Autoload `secrets-get-attributes' instead of `secrets-get-attribute'. |
| 604 | (auth-source-secrets-search): Limit search when `max' is greater than | 683 | (auth-source-secrets-search): Limit search when `max' is greater than |
| 605 | number of results. | 684 | number of results. |
| 606 | 685 | ||
| @@ -636,7 +715,7 @@ | |||
| 636 | (auth-source-protocol-defaults, auth-source-user-or-password-imap) | 715 | (auth-source-protocol-defaults, auth-source-user-or-password-imap) |
| 637 | (auth-source-user-or-password-pop3, auth-source-user-or-password-ssh) | 716 | (auth-source-user-or-password-pop3, auth-source-user-or-password-ssh) |
| 638 | (auth-source-user-or-password-sftp) | 717 | (auth-source-user-or-password-sftp) |
| 639 | (auth-source-user-or-password-smtp): Removed. | 718 | (auth-source-user-or-password-smtp): Remove. |
| 640 | (auth-source-user-or-password): Deprecated and modified to be a wrapper | 719 | (auth-source-user-or-password): Deprecated and modified to be a wrapper |
| 641 | around `auth-source-search'. Not tested thoroughly. | 720 | around `auth-source-search'. Not tested thoroughly. |
| 642 | 721 | ||
| @@ -802,16 +881,16 @@ | |||
| 802 | * gnus-group.el (gnus-group-jump-to-group): Allow jumping to groups | 881 | * gnus-group.el (gnus-group-jump-to-group): Allow jumping to groups |
| 803 | that Gnus doesn't know exists again. | 882 | that Gnus doesn't know exists again. |
| 804 | 883 | ||
| 805 | * gnus-art.el (gnus-article-date-lapsed-new-header): Removed. | 884 | * gnus-art.el (gnus-article-date-lapsed-new-header): Remove. |
| 806 | (gnus-treat-date-ut): Ditto. | 885 | (gnus-treat-date-ut): Ditto. |
| 807 | (gnus-article-update-date-header): Renamed. | 886 | (gnus-article-update-date-header): Rename. |
| 808 | (gnus-treat-date-local): Removed. | 887 | (gnus-treat-date-local): Remove. |
| 809 | (gnus-treat-date-english): Removed. | 888 | (gnus-treat-date-english): Remove. |
| 810 | (gnus-treat-date-lapsed): Removed. | 889 | (gnus-treat-date-lapsed): Remove. |
| 811 | (gnus-treat-date-combined-lapsed): Removed. | 890 | (gnus-treat-date-combined-lapsed): Remove. |
| 812 | (gnus-treat-date-original): Removed. | 891 | (gnus-treat-date-original): Remove. |
| 813 | (gnus-treat-date-iso8601): Removed. | 892 | (gnus-treat-date-iso8601): Remove. |
| 814 | (gnus-treat-date-user-defined): Removed. | 893 | (gnus-treat-date-user-defined): Remove. |
| 815 | (gnus-article-date-headers): New variable to control all the date | 894 | (gnus-article-date-headers): New variable to control all the date |
| 816 | header options. | 895 | header options. |
| 817 | (article-date-ut): Rewrite to allow using the new way to format date | 896 | (article-date-ut): Rewrite to allow using the new way to format date |
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el index 52f2b92e933..e0bea324a25 100644 --- a/lisp/gnus/auth-source.el +++ b/lisp/gnus/auth-source.el | |||
| @@ -1093,17 +1093,19 @@ See `auth-source-search' for details on SPEC." | |||
| 1093 | (?h ,(aget printable-defaults 'host)) | 1093 | (?h ,(aget printable-defaults 'host)) |
| 1094 | (?p ,(aget printable-defaults 'port)))))) | 1094 | (?p ,(aget printable-defaults 'port)))))) |
| 1095 | 1095 | ||
| 1096 | ;; store the data, prompting for the password if needed | 1096 | ;; Store the data, prompting for the password if needed. |
| 1097 | (setq data | 1097 | (setq data |
| 1098 | (cond | 1098 | (cond |
| 1099 | ((and (null data) (eq r 'secret)) | 1099 | ((and (null data) (eq r 'secret)) |
| 1100 | ;; special case prompt for passwords | 1100 | ;; Special case prompt for passwords. |
| 1101 | (read-passwd prompt)) | 1101 | (read-passwd prompt)) |
| 1102 | ((null data) | 1102 | ((null data) |
| 1103 | (when default | 1103 | (when default |
| 1104 | (setq | 1104 | (setq prompt |
| 1105 | prompt | 1105 | (if (string-match ": *\\'" prompt) |
| 1106 | (concat prompt (format "(default %s) " default)))) | 1106 | (concat (substring prompt 0 (match-beginning 0)) |
| 1107 | " (default " default "): ") | ||
| 1108 | (concat prompt "(default " default ") ")))) | ||
| 1107 | (read-string prompt nil nil default)) | 1109 | (read-string prompt nil nil default)) |
| 1108 | (t (or data default)))) | 1110 | (t (or data default)))) |
| 1109 | 1111 | ||
| @@ -1115,7 +1117,7 @@ See `auth-source-search' for details on SPEC." | |||
| 1115 | (lambda () data)) | 1117 | (lambda () data)) |
| 1116 | data)))) | 1118 | data)))) |
| 1117 | 1119 | ||
| 1118 | ;; when r is not an empty string... | 1120 | ;; When r is not an empty string... |
| 1119 | (when (and (stringp data) | 1121 | (when (and (stringp data) |
| 1120 | (< 0 (length data))) | 1122 | (< 0 (length data))) |
| 1121 | ;; this function is not strictly necessary but I think it | 1123 | ;; this function is not strictly necessary but I think it |
| @@ -1128,10 +1130,10 @@ See `auth-source-search' for details on SPEC." | |||
| 1128 | (if (zerop (length add)) "" " ") | 1130 | (if (zerop (length add)) "" " ") |
| 1129 | ;; remap auth-source tokens to netrc | 1131 | ;; remap auth-source tokens to netrc |
| 1130 | (case r | 1132 | (case r |
| 1131 | ('user "login") | 1133 | (user "login") |
| 1132 | ('host "machine") | 1134 | (host "machine") |
| 1133 | ('secret "password") | 1135 | (secret "password") |
| 1134 | ('port "port") ; redundant but clearer | 1136 | (port "port") ; redundant but clearer |
| 1135 | (t (symbol-name r))) | 1137 | (t (symbol-name r))) |
| 1136 | ;; the value will be printed in %S format | 1138 | ;; the value will be printed in %S format |
| 1137 | data)))) | 1139 | data)))) |
| @@ -1173,7 +1175,7 @@ Respects `auth-source-save-behavior'. Uses | |||
| 1173 | ;; we want the new data to be found first, so insert at beginning | 1175 | ;; we want the new data to be found first, so insert at beginning |
| 1174 | (goto-char (point-min)) | 1176 | (goto-char (point-min)) |
| 1175 | 1177 | ||
| 1176 | ;; ask AFTER we've successfully opened the file | 1178 | ;; Ask AFTER we've successfully opened the file. |
| 1177 | (let ((prompt (format "Save auth info to file %s? " file)) | 1179 | (let ((prompt (format "Save auth info to file %s? " file)) |
| 1178 | (done (not (eq auth-source-save-behavior 'ask))) | 1180 | (done (not (eq auth-source-save-behavior 'ask))) |
| 1179 | (bufname "*auth-source Help*") | 1181 | (bufname "*auth-source Help*") |
| @@ -1190,6 +1192,8 @@ Respects `auth-source-save-behavior'. Uses | |||
| 1190 | "(N)o and don't ask to save again\n" | 1192 | "(N)o and don't ask to save again\n" |
| 1191 | "(e)dit the line\n" | 1193 | "(e)dit the line\n" |
| 1192 | "(?) for help as you can see.\n")) | 1194 | "(?) for help as you can see.\n")) |
| 1195 | ;; Why? Doesn't with-output-to-temp-buffer already do | ||
| 1196 | ;; the exact same thing anyway? --Stef | ||
| 1193 | (set-buffer standard-output) | 1197 | (set-buffer standard-output) |
| 1194 | (help-mode)))) | 1198 | (help-mode)))) |
| 1195 | (?n (setq add "" | 1199 | (?n (setq add "" |
| @@ -1203,7 +1207,7 @@ Respects `auth-source-save-behavior'. Uses | |||
| 1203 | (when (get-buffer-window bufname) | 1207 | (when (get-buffer-window bufname) |
| 1204 | (delete-window (get-buffer-window bufname))) | 1208 | (delete-window (get-buffer-window bufname))) |
| 1205 | 1209 | ||
| 1206 | ;; make sure the info is not saved | 1210 | ;; Make sure the info is not saved. |
| 1207 | (when (null auth-source-save-behavior) | 1211 | (when (null auth-source-save-behavior) |
| 1208 | (setq add "")) | 1212 | (setq add "")) |
| 1209 | 1213 | ||
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index c64138b43d7..b994a2839bc 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -2337,10 +2337,12 @@ long lines if and only if arg is positive." | |||
| 2337 | (let ((start (point))) | 2337 | (let ((start (point))) |
| 2338 | (insert "X-Boundary: ") | 2338 | (insert "X-Boundary: ") |
| 2339 | (gnus-add-text-properties start (point) '(invisible t intangible t)) | 2339 | (gnus-add-text-properties start (point) '(invisible t intangible t)) |
| 2340 | (insert (let (str) | 2340 | (insert (let (str (max (window-width))) |
| 2341 | (while (>= (window-width) (length str)) | 2341 | (if (featurep 'xemacs) |
| 2342 | (setq max (1- max))) | ||
| 2343 | (while (>= max (length str)) | ||
| 2342 | (setq str (concat str gnus-body-boundary-delimiter))) | 2344 | (setq str (concat str gnus-body-boundary-delimiter))) |
| 2343 | (substring str 0 (window-width))) | 2345 | (substring str 0 max)) |
| 2344 | "\n") | 2346 | "\n") |
| 2345 | (gnus-put-text-property start (point) 'gnus-decoration 'header))))) | 2347 | (gnus-put-text-property start (point) 'gnus-decoration 'header))))) |
| 2346 | 2348 | ||
| @@ -3074,10 +3076,7 @@ images if any to the browser, and deletes them when exiting the group | |||
| 3074 | The `gnus-list-identifiers' variable specifies what to do." | 3076 | The `gnus-list-identifiers' variable specifies what to do." |
| 3075 | (interactive) | 3077 | (interactive) |
| 3076 | (let ((inhibit-point-motion-hooks t) | 3078 | (let ((inhibit-point-motion-hooks t) |
| 3077 | (regexp (or (gnus-parameter-list-identifier gnus-newsgroup-name) | 3079 | (regexp (gnus-group-get-list-identifiers gnus-newsgroup-name)) |
| 3078 | (if (consp gnus-list-identifiers) | ||
| 3079 | (mapconcat 'identity gnus-list-identifiers " *\\|") | ||
| 3080 | gnus-list-identifiers))) | ||
| 3081 | (inhibit-read-only t)) | 3080 | (inhibit-read-only t)) |
| 3082 | (when regexp | 3081 | (when regexp |
| 3083 | (save-excursion | 3082 | (save-excursion |
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 9ed3cf02a49..e928811b558 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -2313,9 +2313,10 @@ Return the name of the group if selection was successful." | |||
| 2313 | gnus-fetch-old-ephemeral-headers)) | 2313 | gnus-fetch-old-ephemeral-headers)) |
| 2314 | (gnus-group-read-group (or number t) t group select-articles)) | 2314 | (gnus-group-read-group (or number t) t group select-articles)) |
| 2315 | group) | 2315 | group) |
| 2316 | ;;(error nil) | ||
| 2317 | (quit | 2316 | (quit |
| 2318 | (message "Quit reading the ephemeral group") | 2317 | (if debug-on-quit |
| 2318 | (debug "Quit") | ||
| 2319 | (message "Quit reading the ephemeral group")) | ||
| 2319 | nil))))) | 2320 | nil))))) |
| 2320 | 2321 | ||
| 2321 | (defcustom gnus-gmane-group-download-format | 2322 | (defcustom gnus-gmane-group-download-format |
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el index a67063bb970..ef15a479892 100644 --- a/lisp/gnus/gnus-int.el +++ b/lisp/gnus/gnus-int.el | |||
| @@ -270,7 +270,9 @@ If it is down, start it up (again)." | |||
| 270 | server (error-message-string err)) | 270 | server (error-message-string err)) |
| 271 | nil) | 271 | nil) |
| 272 | (quit | 272 | (quit |
| 273 | (gnus-message 1 "Quit trying to open server %s" server) | 273 | (if debug-on-quit |
| 274 | (debug "Quit") | ||
| 275 | (gnus-message 1 "Quit trying to open server %s" server)) | ||
| 274 | nil))) | 276 | nil))) |
| 275 | open-offline) | 277 | open-offline) |
| 276 | ;; If this hasn't been opened before, we add it to the list. | 278 | ;; If this hasn't been opened before, we add it to the list. |
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index c6ff6044b92..afded87fe37 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -1462,9 +1462,10 @@ If SCAN, request a scan of that group as well." | |||
| 1462 | (inline (gnus-request-group group (or dont-sub-check dont-check) | 1462 | (inline (gnus-request-group group (or dont-sub-check dont-check) |
| 1463 | method | 1463 | method |
| 1464 | (gnus-get-info group))) | 1464 | (gnus-get-info group))) |
| 1465 | ;;(error nil) | ||
| 1466 | (quit | 1465 | (quit |
| 1467 | (message "Quit activating %s" group) | 1466 | (if debug-on-quit |
| 1467 | (debug "Quit") | ||
| 1468 | (message "Quit activating %s" group)) | ||
| 1468 | nil))) | 1469 | nil))) |
| 1469 | (unless dont-check | 1470 | (unless dont-check |
| 1470 | (setq active (gnus-parse-active)) | 1471 | (setq active (gnus-parse-active)) |
| @@ -2004,7 +2005,9 @@ If SCAN, request a scan of that group as well." | |||
| 2004 | ;; We catch C-g so that we can continue past servers | 2005 | ;; We catch C-g so that we can continue past servers |
| 2005 | ;; that do not respond. | 2006 | ;; that do not respond. |
| 2006 | (quit | 2007 | (quit |
| 2007 | (message "Quit reading the active file") | 2008 | (if debug-on-quit |
| 2009 | (debug "Quit") | ||
| 2010 | (message "Quit reading the active file")) | ||
| 2008 | nil)))))))) | 2011 | nil)))))))) |
| 2009 | 2012 | ||
| 2010 | (defun gnus-read-active-file-1 (method force) | 2013 | (defun gnus-read-active-file-1 (method force) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index a8786e39c7b..29a98b7d11d 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -5510,12 +5510,17 @@ or a straight list of headers." | |||
| 5510 | (cdr (assq number gnus-newsgroup-scored)) | 5510 | (cdr (assq number gnus-newsgroup-scored)) |
| 5511 | (memq number gnus-newsgroup-processable)))))) | 5511 | (memq number gnus-newsgroup-processable)))))) |
| 5512 | 5512 | ||
| 5513 | (defun gnus-group-get-list-identifiers (group) | ||
| 5514 | "Get list identifier regexp for GROUP." | ||
| 5515 | (or (gnus-parameter-list-identifier group) | ||
| 5516 | (if (consp gnus-list-identifiers) | ||
| 5517 | (mapconcat 'identity gnus-list-identifiers " *\\|") | ||
| 5518 | gnus-list-identifiers))) | ||
| 5519 | |||
| 5513 | (defun gnus-summary-remove-list-identifiers () | 5520 | (defun gnus-summary-remove-list-identifiers () |
| 5514 | "Remove list identifiers in `gnus-list-identifiers' from articles in the current group." | 5521 | "Remove list identifiers in `gnus-list-identifiers' from articles in the current group." |
| 5515 | (let ((regexp (if (consp gnus-list-identifiers) | 5522 | (let ((regexp (gnus-group-get-list-identifiers gnus-newsgroup-name)) |
| 5516 | (mapconcat 'identity gnus-list-identifiers " *\\|") | 5523 | changed subject) |
| 5517 | gnus-list-identifiers)) | ||
| 5518 | changed subject) | ||
| 5519 | (when regexp | 5524 | (when regexp |
| 5520 | (setq regexp (concat "^\\(?:R[Ee]: +\\)*\\(" regexp " *\\)")) | 5525 | (setq regexp (concat "^\\(?:R[Ee]: +\\)*\\(" regexp " *\\)")) |
| 5521 | (dolist (header gnus-newsgroup-headers) | 5526 | (dolist (header gnus-newsgroup-headers) |
| @@ -5707,8 +5712,7 @@ If SELECT-ARTICLES, only select those articles from GROUP." | |||
| 5707 | (when gnus-agent | 5712 | (when gnus-agent |
| 5708 | (gnus-agent-get-undownloaded-list)) | 5713 | (gnus-agent-get-undownloaded-list)) |
| 5709 | ;; Remove list identifiers from subject | 5714 | ;; Remove list identifiers from subject |
| 5710 | (when gnus-list-identifiers | 5715 | (gnus-summary-remove-list-identifiers) |
| 5711 | (gnus-summary-remove-list-identifiers)) | ||
| 5712 | ;; Check whether auto-expire is to be done in this group. | 5716 | ;; Check whether auto-expire is to be done in this group. |
| 5713 | (setq gnus-newsgroup-auto-expire | 5717 | (setq gnus-newsgroup-auto-expire |
| 5714 | (gnus-group-auto-expirable-p group)) | 5718 | (gnus-group-auto-expirable-p group)) |
| @@ -5798,7 +5802,8 @@ If SELECT-ARTICLES, only select those articles from GROUP." | |||
| 5798 | 5802 | ||
| 5799 | (defun gnus-articles-to-read (group &optional read-all) | 5803 | (defun gnus-articles-to-read (group &optional read-all) |
| 5800 | "Find out what articles the user wants to read." | 5804 | "Find out what articles the user wants to read." |
| 5801 | (let* ((articles | 5805 | (let* ((only-read-p t) |
| 5806 | (articles | ||
| 5802 | ;; Select all articles if `read-all' is non-nil, or if there | 5807 | ;; Select all articles if `read-all' is non-nil, or if there |
| 5803 | ;; are no unread articles. | 5808 | ;; are no unread articles. |
| 5804 | (if (or read-all | 5809 | (if (or read-all |
| @@ -5822,6 +5827,7 @@ If SELECT-ARTICLES, only select those articles from GROUP." | |||
| 5822 | (gnus-uncompress-range (gnus-active group))) | 5827 | (gnus-uncompress-range (gnus-active group))) |
| 5823 | (gnus-cache-articles-in-group group)) | 5828 | (gnus-cache-articles-in-group group)) |
| 5824 | ;; Select only the "normal" subset of articles. | 5829 | ;; Select only the "normal" subset of articles. |
| 5830 | (setq only-read-p nil) | ||
| 5825 | (gnus-sorted-nunion | 5831 | (gnus-sorted-nunion |
| 5826 | (gnus-sorted-union gnus-newsgroup-dormant gnus-newsgroup-marked) | 5832 | (gnus-sorted-union gnus-newsgroup-dormant gnus-newsgroup-marked) |
| 5827 | gnus-newsgroup-unreads))) | 5833 | gnus-newsgroup-unreads))) |
| @@ -5845,16 +5851,25 @@ If SELECT-ARTICLES, only select those articles from GROUP." | |||
| 5845 | (let* ((cursor-in-echo-area nil) | 5851 | (let* ((cursor-in-echo-area nil) |
| 5846 | (initial (gnus-parameter-large-newsgroup-initial | 5852 | (initial (gnus-parameter-large-newsgroup-initial |
| 5847 | gnus-newsgroup-name)) | 5853 | gnus-newsgroup-name)) |
| 5854 | (default (if only-read-p | ||
| 5855 | (or initial gnus-large-newsgroup) | ||
| 5856 | number)) | ||
| 5848 | (input | 5857 | (input |
| 5849 | (read-string | 5858 | (read-string |
| 5850 | (format | 5859 | (if only-read-p |
| 5851 | "How many articles from %s (%s %d): " | 5860 | (format |
| 5852 | (gnus-group-decoded-name gnus-newsgroup-name) | 5861 | "How many articles from %s (available %d, default %d): " |
| 5853 | (if initial "max" "default") | 5862 | (gnus-group-decoded-name |
| 5854 | number) | 5863 | (gnus-group-real-name gnus-newsgroup-name)) |
| 5855 | (if initial | 5864 | number default) |
| 5856 | (cons (number-to-string initial) | 5865 | (format |
| 5857 | 0))))) | 5866 | "How many articles from %s (%d available): " |
| 5867 | (gnus-group-decoded-name | ||
| 5868 | (gnus-group-real-name gnus-newsgroup-name)) | ||
| 5869 | default)) | ||
| 5870 | nil | ||
| 5871 | nil | ||
| 5872 | (number-to-string default)))) | ||
| 5858 | (if (string-match "^[ \t]*$" input) number input))) | 5873 | (if (string-match "^[ \t]*$" input) number input))) |
| 5859 | ((and (> scored marked) (< scored number) | 5874 | ((and (> scored marked) (< scored number) |
| 5860 | (> (- scored number) 20)) | 5875 | (> (- scored number) 20)) |
| @@ -5862,7 +5877,8 @@ If SELECT-ARTICLES, only select those articles from GROUP." | |||
| 5862 | (read-string | 5877 | (read-string |
| 5863 | (format "%s %s (%d scored, %d total): " | 5878 | (format "%s %s (%d scored, %d total): " |
| 5864 | "How many articles from" | 5879 | "How many articles from" |
| 5865 | (gnus-group-decoded-name group) | 5880 | (gnus-group-decoded-name |
| 5881 | (gnus-group-real-name gnus-newsgroup-name)) | ||
| 5866 | scored number)))) | 5882 | scored number)))) |
| 5867 | (if (string-match "^[ \t]*$" input) | 5883 | (if (string-match "^[ \t]*$" input) |
| 5868 | number input))) | 5884 | number input))) |
| @@ -6564,9 +6580,8 @@ the subject line on." | |||
| 6564 | (1+ (point-at-eol)) | 6580 | (1+ (point-at-eol)) |
| 6565 | (gnus-delete-line)))))) | 6581 | (gnus-delete-line)))))) |
| 6566 | ;; Remove list identifiers from subject. | 6582 | ;; Remove list identifiers from subject. |
| 6567 | (when gnus-list-identifiers | 6583 | (let ((gnus-newsgroup-headers (list header))) |
| 6568 | (let ((gnus-newsgroup-headers (list header))) | 6584 | (gnus-summary-remove-list-identifiers)) |
| 6569 | (gnus-summary-remove-list-identifiers))) | ||
| 6570 | (when old-header | 6585 | (when old-header |
| 6571 | (mail-header-set-number header (mail-header-number old-header))) | 6586 | (mail-header-set-number header (mail-header-number old-header))) |
| 6572 | (setq gnus-newsgroup-sparse | 6587 | (setq gnus-newsgroup-sparse |
| @@ -12670,8 +12685,7 @@ returned." | |||
| 12670 | (when gnus-agent | 12685 | (when gnus-agent |
| 12671 | (gnus-agent-get-undownloaded-list)) | 12686 | (gnus-agent-get-undownloaded-list)) |
| 12672 | ;; Remove list identifiers from subject | 12687 | ;; Remove list identifiers from subject |
| 12673 | (when gnus-list-identifiers | 12688 | (gnus-summary-remove-list-identifiers) |
| 12674 | (gnus-summary-remove-list-identifiers)) | ||
| 12675 | ;; First and last article in this newsgroup. | 12689 | ;; First and last article in this newsgroup. |
| 12676 | (when gnus-newsgroup-headers | 12690 | (when gnus-newsgroup-headers |
| 12677 | (setq gnus-newsgroup-begin | 12691 | (setq gnus-newsgroup-begin |
diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el index 156f9a020fd..c38f57d96cb 100644 --- a/lisp/gnus/gnus-win.el +++ b/lisp/gnus/gnus-win.el | |||
| @@ -268,8 +268,10 @@ See the Gnus manual for an explanation of the syntax used.") | |||
| 268 | (error "Invalid buffer type: %s" type)) | 268 | (error "Invalid buffer type: %s" type)) |
| 269 | (let ((buf (gnus-get-buffer-create | 269 | (let ((buf (gnus-get-buffer-create |
| 270 | (gnus-window-to-buffer-helper buffer)))) | 270 | (gnus-window-to-buffer-helper buffer)))) |
| 271 | (if (eq buf (window-buffer (selected-window))) (set-buffer buf) | 271 | (when (buffer-name buf) |
| 272 | (switch-to-buffer buf))) | 272 | (if (eq buf (window-buffer (selected-window))) |
| 273 | (set-buffer buf) | ||
| 274 | (switch-to-buffer buf)))) | ||
| 273 | (when (memq 'frame-focus split) | 275 | (when (memq 'frame-focus split) |
| 274 | (setq gnus-window-frame-focus window)) | 276 | (setq gnus-window-frame-focus window)) |
| 275 | ;; We return the window if it has the `point' spec. | 277 | ;; We return the window if it has the `point' spec. |
diff --git a/lisp/gnus/gssapi.el b/lisp/gnus/gssapi.el new file mode 100644 index 00000000000..3765fb84ee8 --- /dev/null +++ b/lisp/gnus/gssapi.el | |||
| @@ -0,0 +1,105 @@ | |||
| 1 | ;;; gssapi.el --- GSSAPI/Kerberos 5 interface for Emacs | ||
| 2 | |||
| 3 | ;; Copyright (C) 2011 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Simon Josefsson <simon@josefsson.org> | ||
| 6 | ;; Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 7 | ;; Keywords: network | ||
| 8 | |||
| 9 | ;; This file is part of GNU Emacs. | ||
| 10 | |||
| 11 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 12 | ;; it under the terms of the GNU General Public License as published by | ||
| 13 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 14 | ;; (at your option) any later version. | ||
| 15 | |||
| 16 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 19 | ;; GNU General Public License for more details. | ||
| 20 | |||
| 21 | ;; You should have received a copy of the GNU General Public License | ||
| 22 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 23 | |||
| 24 | ;;; Commentary: | ||
| 25 | |||
| 26 | ;;; Code: | ||
| 27 | |||
| 28 | (require 'format-spec) | ||
| 29 | |||
| 30 | (defcustom gssapi-program (list | ||
| 31 | (concat "gsasl %s %p " | ||
| 32 | "--mechanism GSSAPI " | ||
| 33 | "--authentication-id %l") | ||
| 34 | "imtest -m gssapi -u %l -p %p %s") | ||
| 35 | "List of strings containing commands for GSSAPI (krb5) authentication. | ||
| 36 | %s is replaced with server hostname, %p with port to connect to, and | ||
| 37 | %l with the value of `imap-default-user'. The program should accept | ||
| 38 | IMAP commands on stdin and return responses to stdout. Each entry in | ||
| 39 | the list is tried until a successful connection is made." | ||
| 40 | :group 'network | ||
| 41 | :type '(repeat string)) | ||
| 42 | |||
| 43 | (defun open-gssapi-stream (name buffer server port) | ||
| 44 | (let ((cmds gssapi-program) | ||
| 45 | cmd done) | ||
| 46 | (with-current-buffer buffer | ||
| 47 | (while (and (not done) | ||
| 48 | (setq cmd (pop cmds))) | ||
| 49 | (message "Opening GSSAPI connection with `%s'..." cmd) | ||
| 50 | (erase-buffer) | ||
| 51 | (let* ((coding-system-for-read 'binary) | ||
| 52 | (coding-system-for-write 'binary) | ||
| 53 | (process (start-process | ||
| 54 | name buffer shell-file-name shell-command-switch | ||
| 55 | (format-spec | ||
| 56 | cmd | ||
| 57 | (format-spec-make | ||
| 58 | ?s server | ||
| 59 | ?p (number-to-string port) | ||
| 60 | ?l imap-default-user)))) | ||
| 61 | response) | ||
| 62 | (when process | ||
| 63 | (while (and (memq (process-status process) '(open run)) | ||
| 64 | (goto-char (point-min)) | ||
| 65 | ;; Athena IMTEST can output SSL verify errors | ||
| 66 | (or (while (looking-at "^verify error:num=") | ||
| 67 | (forward-line)) | ||
| 68 | t) | ||
| 69 | (or (while (looking-at "^TLS connection established") | ||
| 70 | (forward-line)) | ||
| 71 | t) | ||
| 72 | ;; cyrus 1.6.x (13? < x <= 22) queries capabilities | ||
| 73 | (or (while (looking-at "^C:") | ||
| 74 | (forward-line)) | ||
| 75 | t) | ||
| 76 | ;; cyrus 1.6 imtest print "S: " before server greeting | ||
| 77 | (or (not (looking-at "S: ")) | ||
| 78 | (forward-char 3) | ||
| 79 | t) | ||
| 80 | ;; GNU SASL may print 'Trying ...' first. | ||
| 81 | (or (not (looking-at "Trying ")) | ||
| 82 | (forward-line) | ||
| 83 | t) | ||
| 84 | (not (and (looking-at "\\* \\(OK\\|PREAUTH\\|BYE\\) ") | ||
| 85 | ;; success in imtest 1.6: | ||
| 86 | (re-search-forward | ||
| 87 | (concat "^\\(\\(Authenticat.*\\)\\|\\(" | ||
| 88 | "Client authentication " | ||
| 89 | "finished.*\\)\\)") | ||
| 90 | nil t) | ||
| 91 | (setq response (match-string 1))))) | ||
| 92 | (accept-process-output process 1) | ||
| 93 | (sit-for 1)) | ||
| 94 | (erase-buffer) | ||
| 95 | (message "GSSAPI IMAP connection: %s" (or response "failed")) | ||
| 96 | (if (and response (let ((case-fold-search nil)) | ||
| 97 | (not (string-match "failed" response)))) | ||
| 98 | (setq done process) | ||
| 99 | (delete-process process) | ||
| 100 | nil)))) | ||
| 101 | done))) | ||
| 102 | |||
| 103 | (provide 'gssapi) | ||
| 104 | |||
| 105 | ;;; gssapi.el ends here | ||
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 08c59b00bfc..bb9215aca7c 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -49,6 +49,7 @@ | |||
| 49 | (require 'mail-parse) | 49 | (require 'mail-parse) |
| 50 | (require 'mml) | 50 | (require 'mml) |
| 51 | (require 'rfc822) | 51 | (require 'rfc822) |
| 52 | (require 'format-spec) | ||
| 52 | 53 | ||
| 53 | (autoload 'mailclient-send-it "mailclient") ;; Emacs 22 or contrib/ | 54 | (autoload 'mailclient-send-it "mailclient") ;; Emacs 22 or contrib/ |
| 54 | 55 | ||
| @@ -438,7 +439,10 @@ whitespace)." | |||
| 438 | :group 'message-various) | 439 | :group 'message-various) |
| 439 | 440 | ||
| 440 | (defcustom message-elide-ellipsis "\n[...]\n\n" | 441 | (defcustom message-elide-ellipsis "\n[...]\n\n" |
| 441 | "*The string which is inserted for elided text." | 442 | "*The string which is inserted for elided text. |
| 443 | This is a format-spec string, and you can use %l to say how many | ||
| 444 | lines were removed, and %c to say how many characters were | ||
| 445 | removed." | ||
| 442 | :type 'string | 446 | :type 'string |
| 443 | :link '(custom-manual "(message)Various Commands") | 447 | :link '(custom-manual "(message)Various Commands") |
| 444 | :group 'message-various) | 448 | :group 'message-various) |
| @@ -3535,8 +3539,12 @@ Note that this should not be used in newsgroups." | |||
| 3535 | An ellipsis (from `message-elide-ellipsis') will be inserted where the | 3539 | An ellipsis (from `message-elide-ellipsis') will be inserted where the |
| 3536 | text was killed." | 3540 | text was killed." |
| 3537 | (interactive "r") | 3541 | (interactive "r") |
| 3538 | (kill-region b e) | 3542 | (let ((lines (count-lines b e)) |
| 3539 | (insert message-elide-ellipsis)) | 3543 | (chars (- e b))) |
| 3544 | (kill-region b e) | ||
| 3545 | (insert (format-spec message-elide-ellipsis | ||
| 3546 | `((?l . ,lines) | ||
| 3547 | (?c . ,chars)))))) | ||
| 3540 | 3548 | ||
| 3541 | (defvar message-caesar-translation-table nil) | 3549 | (defvar message-caesar-translation-table nil) |
| 3542 | 3550 | ||
| @@ -3749,12 +3757,12 @@ prefix, and don't delete any headers." | |||
| 3749 | (insert-before-markers ?\n) | 3757 | (insert-before-markers ?\n) |
| 3750 | (goto-char pt)))) | 3758 | (goto-char pt)))) |
| 3751 | (case message-cite-reply-position | 3759 | (case message-cite-reply-position |
| 3752 | ('above | 3760 | (above |
| 3753 | (message-goto-body) | 3761 | (message-goto-body) |
| 3754 | (insert body-text) | 3762 | (insert body-text) |
| 3755 | (insert (if (bolp) "\n" "\n\n")) | 3763 | (insert (if (bolp) "\n" "\n\n")) |
| 3756 | (message-goto-body)) | 3764 | (message-goto-body)) |
| 3757 | ('below | 3765 | (below |
| 3758 | (message-goto-signature))) | 3766 | (message-goto-signature))) |
| 3759 | ;; Add a `message-setup-very-last-hook' here? | 3767 | ;; Add a `message-setup-very-last-hook' here? |
| 3760 | ;; Add `gnus-article-highlight-citation' here? | 3768 | ;; Add `gnus-article-highlight-citation' here? |
diff --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el index 96dce48a774..4f7b5ed26b3 100644 --- a/lisp/gnus/mm-uu.el +++ b/lisp/gnus/mm-uu.el | |||
| @@ -705,6 +705,8 @@ Assume text has been decoded if DECODED is non-nil." | |||
| 705 | ;; Mutt still uses application/pgp even though | 705 | ;; Mutt still uses application/pgp even though |
| 706 | ;; it has already been withdrawn. | 706 | ;; it has already been withdrawn. |
| 707 | (string-match "\\`text/\\|\\`application/pgp\\'" type) | 707 | (string-match "\\`text/\\|\\`application/pgp\\'" type) |
| 708 | (equal (car (mm-handle-disposition handle)) | ||
| 709 | "inline") | ||
| 708 | (setq | 710 | (setq |
| 709 | children | 711 | children |
| 710 | (with-current-buffer buffer | 712 | (with-current-buffer buffer |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index e76ead515c5..e0804f81e2e 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -340,6 +340,7 @@ textual parts.") | |||
| 340 | (ports | 340 | (ports |
| 341 | (cond | 341 | (cond |
| 342 | ((or (eq nnimap-stream 'network) | 342 | ((or (eq nnimap-stream 'network) |
| 343 | (eq nnimap-stream 'network-only) | ||
| 343 | (eq nnimap-stream 'starttls)) | 344 | (eq nnimap-stream 'starttls)) |
| 344 | (nnheader-message 7 "Opening connection to %s..." | 345 | (nnheader-message 7 "Opening connection to %s..." |
| 345 | nnimap-address) | 346 | nnimap-address) |
| @@ -1452,6 +1453,11 @@ textual parts.") | |||
| 1452 | ;; Change \Delete etc to %Delete, so that the reader can read it. | 1453 | ;; Change \Delete etc to %Delete, so that the reader can read it. |
| 1453 | (subst-char-in-region (point-min) (point-max) | 1454 | (subst-char-in-region (point-min) (point-max) |
| 1454 | ?\\ ?% t) | 1455 | ?\\ ?% t) |
| 1456 | ;; Remove any MODSEQ entries in the buffer, because they may contain | ||
| 1457 | ;; numbers that are too large for 32-bit Emacsen. | ||
| 1458 | (while (re-search-forward " MODSEQ ([0-9]+)" nil t) | ||
| 1459 | (replace-match "" t t)) | ||
| 1460 | (goto-char (point-min)) | ||
| 1455 | (let (start end articles groups uidnext elems permanent-flags | 1461 | (let (start end articles groups uidnext elems permanent-flags |
| 1456 | uidvalidity vanished highestmodseq) | 1462 | uidvalidity vanished highestmodseq) |
| 1457 | (dolist (elem sequences) | 1463 | (dolist (elem sequences) |
| @@ -1491,9 +1497,9 @@ textual parts.") | |||
| 1491 | (match-string 1))) | 1497 | (match-string 1))) |
| 1492 | (goto-char start) | 1498 | (goto-char start) |
| 1493 | (setq highestmodseq | 1499 | (setq highestmodseq |
| 1494 | (and (search-forward "HIGHESTMODSEQ " | 1500 | (and (re-search-forward "HIGHESTMODSEQ \\([0-9]+\\)" |
| 1495 | (or end (point-min)) t) | 1501 | (or end (point-min)) t) |
| 1496 | (read (current-buffer)))) | 1502 | (match-string 1))) |
| 1497 | (goto-char end) | 1503 | (goto-char end) |
| 1498 | (forward-line -1)) | 1504 | (forward-line -1)) |
| 1499 | ;; The UID FETCH FLAGS was successful. | 1505 | ;; The UID FETCH FLAGS was successful. |
| @@ -1507,18 +1513,7 @@ textual parts.") | |||
| 1507 | (goto-char end)) | 1513 | (goto-char end)) |
| 1508 | (while (re-search-forward "^\\* [0-9]+ FETCH " start t) | 1514 | (while (re-search-forward "^\\* [0-9]+ FETCH " start t) |
| 1509 | (let ((p (point))) | 1515 | (let ((p (point))) |
| 1510 | ;; FIXME: For FETCH lines like "* 2971 FETCH (FLAGS (%Recent) UID | 1516 | (setq elems (read (current-buffer))) |
| 1511 | ;; 12509 MODSEQ (13419098521433281274))" we get an | ||
| 1512 | ;; overflow-error. The handler simply deletes that large number | ||
| 1513 | ;; and reads again. But maybe there's a better fix... | ||
| 1514 | (setq elems (condition-case nil (read (current-buffer)) | ||
| 1515 | (overflow-error | ||
| 1516 | ;; After an overflow-error, point is just after | ||
| 1517 | ;; the too large number. So delete it and try | ||
| 1518 | ;; again. | ||
| 1519 | (delete-region (point) (progn (backward-word) (point))) | ||
| 1520 | (goto-char p) | ||
| 1521 | (read (current-buffer))))) | ||
| 1522 | (push (cons (cadr (memq 'UID elems)) | 1517 | (push (cons (cadr (memq 'UID elems)) |
| 1523 | (cadr (memq 'FLAGS elems))) | 1518 | (cadr (memq 'FLAGS elems))) |
| 1524 | articles))) | 1519 | articles))) |
| @@ -1674,6 +1669,8 @@ textual parts.") | |||
| 1674 | (goto-char (point-max))) | 1669 | (goto-char (point-max))) |
| 1675 | openp) | 1670 | openp) |
| 1676 | (quit | 1671 | (quit |
| 1672 | (when debug-on-quit | ||
| 1673 | (debug "Quit")) | ||
| 1677 | ;; The user hit C-g while we were waiting: kill the process, in case | 1674 | ;; The user hit C-g while we were waiting: kill the process, in case |
| 1678 | ;; it's a gnutls-cli process that's stuck (tends to happen a lot behind | 1675 | ;; it's a gnutls-cli process that's stuck (tends to happen a lot behind |
| 1679 | ;; NAT routers). | 1676 | ;; NAT routers). |
diff --git a/lisp/help-fns.el b/lisp/help-fns.el index e27a1e47b5c..ede80f858bf 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el | |||
| @@ -534,6 +534,7 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound." | |||
| 534 | (with-syntax-table emacs-lisp-mode-syntax-table | 534 | (with-syntax-table emacs-lisp-mode-syntax-table |
| 535 | (or (condition-case () | 535 | (or (condition-case () |
| 536 | (save-excursion | 536 | (save-excursion |
| 537 | (skip-chars-forward "'") | ||
| 537 | (or (not (zerop (skip-syntax-backward "_w"))) | 538 | (or (not (zerop (skip-syntax-backward "_w"))) |
| 538 | (eq (char-syntax (following-char)) ?w) | 539 | (eq (char-syntax (following-char)) ?w) |
| 539 | (eq (char-syntax (following-char)) ?_) | 540 | (eq (char-syntax (following-char)) ?_) |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 3c8628c9cfa..fa36da01cd9 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -704,7 +704,15 @@ scroll the window of possible completions." | |||
| 704 | (when last | 704 | (when last |
| 705 | (setcdr last nil) | 705 | (setcdr last nil) |
| 706 | ;; Prefer shorter completions. | 706 | ;; Prefer shorter completions. |
| 707 | (setq all (sort all (lambda (c1 c2) (< (length c1) (length c2))))) | 707 | (setq all (sort all (lambda (c1 c2) |
| 708 | (let ((s1 (get-text-property | ||
| 709 | 0 :completion-cycle-penalty c1)) | ||
| 710 | (s2 (get-text-property | ||
| 711 | 0 :completion-cycle-penalty c2))) | ||
| 712 | (if (eq s1 s2) | ||
| 713 | (< (length c1) (length c2)) | ||
| 714 | (< (or s1 (length c1)) | ||
| 715 | (or s2 (length c2)))))))) | ||
| 708 | ;; Prefer recently used completions. | 716 | ;; Prefer recently used completions. |
| 709 | (let ((hist (symbol-value minibuffer-history-variable))) | 717 | (let ((hist (symbol-value minibuffer-history-variable))) |
| 710 | (setq all (sort all (lambda (c1 c2) | 718 | (setq all (sort all (lambda (c1 c2) |
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el index 4045a443640..c3da1707165 100644 --- a/lisp/net/quickurl.el +++ b/lisp/net/quickurl.el | |||
| @@ -511,15 +511,15 @@ TYPE dictates what will be inserted, options are: | |||
| 511 | (with-current-buffer quickurl-list-last-buffer | 511 | (with-current-buffer quickurl-list-last-buffer |
| 512 | (insert | 512 | (insert |
| 513 | (case type | 513 | (case type |
| 514 | ('url (funcall quickurl-format-function url)) | 514 | (url (funcall quickurl-format-function url)) |
| 515 | ('naked-url (quickurl-url-url url)) | 515 | (naked-url (quickurl-url-url url)) |
| 516 | ('with-lookup (format "%s <URL:%s>" | 516 | (with-lookup (format "%s <URL:%s>" |
| 517 | (quickurl-url-keyword url) | 517 | (quickurl-url-keyword url) |
| 518 | (quickurl-url-url url))) | 518 | (quickurl-url-url url))) |
| 519 | ('with-desc (format "%S <URL:%s>" | 519 | (with-desc (format "%S <URL:%s>" |
| 520 | (quickurl-url-description url) | 520 | (quickurl-url-description url) |
| 521 | (quickurl-url-url url))) | 521 | (quickurl-url-url url))) |
| 522 | ('lookup (quickurl-url-keyword url))))) | 522 | (lookup (quickurl-url-keyword url))))) |
| 523 | (error "No URL details on that line")) | 523 | (error "No URL details on that line")) |
| 524 | url)) | 524 | url)) |
| 525 | 525 | ||
diff --git a/lisp/net/xesam.el b/lisp/net/xesam.el index 21a22749408..64c26cfb2c9 100644 --- a/lisp/net/xesam.el +++ b/lisp/net/xesam.el | |||
| @@ -414,18 +414,18 @@ If there is no registered search engine at all, the function returns `nil'." | |||
| 414 | ;; Hopefully, this will change later. | 414 | ;; Hopefully, this will change later. |
| 415 | (setq hit-fields | 415 | (setq hit-fields |
| 416 | (case (intern vendor-id) | 416 | (case (intern vendor-id) |
| 417 | ('Beagle | 417 | (Beagle |
| 418 | '("xesam:mimeType" "xesam:url")) | 418 | '("xesam:mimeType" "xesam:url")) |
| 419 | ('Strigi | 419 | (Strigi |
| 420 | '("xesam:author" "xesam:cc" "xesam:charset" | 420 | '("xesam:author" "xesam:cc" "xesam:charset" |
| 421 | "xesam:contentType" "xesam:fileExtension" | 421 | "xesam:contentType" "xesam:fileExtension" |
| 422 | "xesam:id" "xesam:lineCount" "xesam:links" | 422 | "xesam:id" "xesam:lineCount" "xesam:links" |
| 423 | "xesam:mimeType" "xesam:name" "xesam:size" | 423 | "xesam:mimeType" "xesam:name" "xesam:size" |
| 424 | "xesam:sourceModified" "xesam:subject" "xesam:to" | 424 | "xesam:sourceModified" "xesam:subject" "xesam:to" |
| 425 | "xesam:url")) | 425 | "xesam:url")) |
| 426 | ('TrackerXesamSession | 426 | (TrackerXesamSession |
| 427 | '("xesam:relevancyRating" "xesam:url")) | 427 | '("xesam:relevancyRating" "xesam:url")) |
| 428 | ('Debbugs | 428 | (Debbugs |
| 429 | '("xesam:keyword" "xesam:owner" "xesam:title" | 429 | '("xesam:keyword" "xesam:owner" "xesam:title" |
| 430 | "xesam:url" "xesam:sourceModified" "xesam:mimeType" | 430 | "xesam:url" "xesam:sourceModified" "xesam:mimeType" |
| 431 | "debbugs:key")) | 431 | "debbugs:key")) |
diff --git a/lisp/notifications.el b/lisp/notifications.el index 893b9ed095f..adb9fdd641a 100644 --- a/lisp/notifications.el +++ b/lisp/notifications.el | |||
| @@ -210,8 +210,8 @@ used to manipulate the notification item with | |||
| 210 | (add-to-list 'hints `(:dict-entry | 210 | (add-to-list 'hints `(:dict-entry |
| 211 | "urgency" | 211 | "urgency" |
| 212 | (:variant :byte ,(case urgency | 212 | (:variant :byte ,(case urgency |
| 213 | ('low 0) | 213 | (low 0) |
| 214 | ('critical 2) | 214 | (critical 2) |
| 215 | (t 1)))) t)) | 215 | (t 1)))) t)) |
| 216 | (when category | 216 | (when category |
| 217 | (add-to-list 'hints `(:dict-entry | 217 | (add-to-list 'hints `(:dict-entry |
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index e75821b6860..44a2cb15b7e 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * org-src.el (org-src-switch-to-buffer): | ||
| 4 | * org-plot.el (org-plot/gnuplot-script, org-plot/gnuplot): | ||
| 5 | * org-mouse.el (org-mouse-agenda-type): | ||
| 6 | * org-freemind.el (org-freemind-node-to-org): | ||
| 7 | * ob-sql.el (org-babel-execute:sql): | ||
| 8 | * ob-exp.el (org-babel-exp-do-export, org-babel-exp-code): | ||
| 9 | * ob-ref.el (org-babel-ref-resolve): Fix use of case. | ||
| 10 | |||
| 1 | 2011-03-06 Juanma Barranquero <lekktu@gmail.com> | 11 | 2011-03-06 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 12 | ||
| 3 | * org.el (org-blank-before-new-entry, org-context-in-file-links) | 13 | * org.el (org-blank-before-new-entry, org-context-in-file-links) |
diff --git a/lisp/org/ob-exp.el b/lisp/org/ob-exp.el index 1be45198e0d..3215bcf4d8a 100644 --- a/lisp/org/ob-exp.el +++ b/lisp/org/ob-exp.el | |||
| @@ -231,10 +231,10 @@ The function respects the value of the :exports header argument." | |||
| 231 | (org-babel-exp-results info type 'silent)))) | 231 | (org-babel-exp-results info type 'silent)))) |
| 232 | (clean () (org-babel-remove-result info))) | 232 | (clean () (org-babel-remove-result info))) |
| 233 | (case (intern (or (cdr (assoc :exports (nth 2 info))) "code")) | 233 | (case (intern (or (cdr (assoc :exports (nth 2 info))) "code")) |
| 234 | ('none (silently) (clean) "") | 234 | (none (silently) (clean) "") |
| 235 | ('code (silently) (clean) (org-babel-exp-code info type)) | 235 | (code (silently) (clean) (org-babel-exp-code info type)) |
| 236 | ('results (org-babel-exp-results info type)) | 236 | (results (org-babel-exp-results info type)) |
| 237 | ('both (concat (org-babel-exp-code info type) | 237 | (both (concat (org-babel-exp-code info type) |
| 238 | "\n\n" | 238 | "\n\n" |
| 239 | (org-babel-exp-results info type)))))) | 239 | (org-babel-exp-results info type)))))) |
| 240 | 240 | ||
| @@ -250,8 +250,8 @@ The code block is not evaluated." | |||
| 250 | (name (nth 4 info)) | 250 | (name (nth 4 info)) |
| 251 | (args (mapcar #'cdr (org-babel-get-header (nth 2 info) :var)))) | 251 | (args (mapcar #'cdr (org-babel-get-header (nth 2 info) :var)))) |
| 252 | (case type | 252 | (case type |
| 253 | ('inline (format "=%s=" body)) | 253 | (inline (format "=%s=" body)) |
| 254 | ('block | 254 | (block |
| 255 | (let ((str | 255 | (let ((str |
| 256 | (format "#+BEGIN_SRC %s %s\n%s%s#+END_SRC\n" lang switches body | 256 | (format "#+BEGIN_SRC %s %s\n%s%s#+END_SRC\n" lang switches body |
| 257 | (if (and body (string-match "\n$" body)) | 257 | (if (and body (string-match "\n$" body)) |
| @@ -265,7 +265,7 @@ The code block is not evaluated." | |||
| 265 | (mapconcat #'identity args ", "))) | 265 | (mapconcat #'identity args ", "))) |
| 266 | str)) | 266 | str)) |
| 267 | str)) | 267 | str)) |
| 268 | ('lob | 268 | (lob |
| 269 | (let ((call-line (and (string-match "results=" (car args)) | 269 | (let ((call-line (and (string-match "results=" (car args)) |
| 270 | (substring (car args) (match-end 0))))) | 270 | (substring (car args) (match-end 0))))) |
| 271 | (cond | 271 | (cond |
diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el index 7b06e90f924..96819df8ea1 100644 --- a/lisp/org/ob-ref.el +++ b/lisp/org/ob-ref.el | |||
| @@ -147,12 +147,12 @@ the variable." | |||
| 147 | (let ((params (append args '((:results . "silent"))))) | 147 | (let ((params (append args '((:results . "silent"))))) |
| 148 | (setq result | 148 | (setq result |
| 149 | (case type | 149 | (case type |
| 150 | ('results-line (org-babel-read-result)) | 150 | (results-line (org-babel-read-result)) |
| 151 | ('table (org-babel-read-table)) | 151 | (table (org-babel-read-table)) |
| 152 | ('list (org-babel-read-list)) | 152 | (list (org-babel-read-list)) |
| 153 | ('file (org-babel-read-link)) | 153 | (file (org-babel-read-link)) |
| 154 | ('source-block (org-babel-execute-src-block nil nil params)) | 154 | (source-block (org-babel-execute-src-block nil nil params)) |
| 155 | ('lob (org-babel-execute-src-block nil lob-info params))))) | 155 | (lob (org-babel-execute-src-block nil lob-info params))))) |
| 156 | (if (symbolp result) | 156 | (if (symbolp result) |
| 157 | (format "%S" result) | 157 | (format "%S" result) |
| 158 | (if (and index (listp result)) | 158 | (if (and index (listp result)) |
diff --git a/lisp/org/ob-sql.el b/lisp/org/ob-sql.el index 3bd10d6b2bd..49859d24a17 100644 --- a/lisp/org/ob-sql.el +++ b/lisp/org/ob-sql.el | |||
| @@ -66,18 +66,18 @@ This function is called by `org-babel-execute-src-block'." | |||
| 66 | (out-file (or (cdr (assoc :out-file params)) | 66 | (out-file (or (cdr (assoc :out-file params)) |
| 67 | (org-babel-temp-file "sql-out-"))) | 67 | (org-babel-temp-file "sql-out-"))) |
| 68 | (command (case (intern engine) | 68 | (command (case (intern engine) |
| 69 | ('msosql (format "osql %s -s \"\t\" -i %s -o %s" | 69 | (msosql (format "osql %s -s \"\t\" -i %s -o %s" |
| 70 | (or cmdline "") | ||
| 71 | (org-babel-process-file-name in-file) | ||
| 72 | (org-babel-process-file-name out-file))) | ||
| 73 | ('mysql (format "mysql %s -e \"source %s\" > %s" | ||
| 74 | (or cmdline "") | 70 | (or cmdline "") |
| 75 | (org-babel-process-file-name in-file) | 71 | (org-babel-process-file-name in-file) |
| 76 | (org-babel-process-file-name out-file))) | 72 | (org-babel-process-file-name out-file))) |
| 77 | ('postgresql (format "psql -A -P footer=off -F \"\t\" -f %s -o %s %s" | 73 | (mysql (format "mysql %s -e \"source %s\" > %s" |
| 78 | (org-babel-process-file-name in-file) | 74 | (or cmdline "") |
| 79 | (org-babel-process-file-name out-file) | 75 | (org-babel-process-file-name in-file) |
| 80 | (or cmdline ""))) | 76 | (org-babel-process-file-name out-file))) |
| 77 | (postgresql (format "psql -A -P footer=off -F \"\t\" -f %s -o %s %s" | ||
| 78 | (org-babel-process-file-name in-file) | ||
| 79 | (org-babel-process-file-name out-file) | ||
| 80 | (or cmdline ""))) | ||
| 81 | (t (error "no support for the %s sql engine" engine))))) | 81 | (t (error "no support for the %s sql engine" engine))))) |
| 82 | (with-temp-file in-file | 82 | (with-temp-file in-file |
| 83 | (insert (org-babel-expand-body:sql body params))) | 83 | (insert (org-babel-expand-body:sql body params))) |
diff --git a/lisp/org/org-freemind.el b/lisp/org/org-freemind.el index c85b4bac36a..dccdf449296 100644 --- a/lisp/org/org-freemind.el +++ b/lisp/org/org-freemind.el | |||
| @@ -1172,8 +1172,8 @@ PATH should be a list of steps, where each step has the form | |||
| 1172 | (when (< 0 (- level skip-levels)) | 1172 | (when (< 0 (- level skip-levels)) |
| 1173 | (dolist (attrib attributes) | 1173 | (dolist (attrib attributes) |
| 1174 | (case (car attrib) | 1174 | (case (car attrib) |
| 1175 | ('TEXT (setq text (cdr attrib))) | 1175 | (TEXT (setq text (cdr attrib))) |
| 1176 | ('text (setq text (cdr attrib))))) | 1176 | (text (setq text (cdr attrib))))) |
| 1177 | (unless text | 1177 | (unless text |
| 1178 | ;; There should be a richcontent node holding the text: | 1178 | ;; There should be a richcontent node holding the text: |
| 1179 | (setq text (org-freemind-get-richcontent-node-text node))) | 1179 | (setq text (org-freemind-get-richcontent-node-text node))) |
| @@ -1193,7 +1193,7 @@ PATH should be a list of steps, where each step has the form | |||
| 1193 | (setq text (replace-regexp-in-string "\n $" "" text)) | 1193 | (setq text (replace-regexp-in-string "\n $" "" text)) |
| 1194 | (insert text)) | 1194 | (insert text)) |
| 1195 | (case qname | 1195 | (case qname |
| 1196 | ('node | 1196 | (node |
| 1197 | (insert (make-string (- level skip-levels) ?*) " " text "\n") | 1197 | (insert (make-string (- level skip-levels) ?*) " " text "\n") |
| 1198 | (when note | 1198 | (when note |
| 1199 | (insert ":COMMENT:\n" note "\n:END:\n")) | 1199 | (insert ":COMMENT:\n" note "\n:END:\n")) |
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el index d30f172f42f..cec19d89de1 100644 --- a/lisp/org/org-mouse.el +++ b/lisp/org/org-mouse.el | |||
| @@ -476,11 +476,11 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" | |||
| 476 | 476 | ||
| 477 | (defun org-mouse-agenda-type (type) | 477 | (defun org-mouse-agenda-type (type) |
| 478 | (case type | 478 | (case type |
| 479 | ('tags "Tags: ") | 479 | (tags "Tags: ") |
| 480 | ('todo "TODO: ") | 480 | (todo "TODO: ") |
| 481 | ('tags-tree "Tags tree: ") | 481 | (tags-tree "Tags tree: ") |
| 482 | ('todo-tree "TODO tree: ") | 482 | (todo-tree "TODO tree: ") |
| 483 | ('occur-tree "Occur tree: ") | 483 | (occur-tree "Occur tree: ") |
| 484 | (t "Agenda command ???"))) | 484 | (t "Agenda command ???"))) |
| 485 | 485 | ||
| 486 | 486 | ||
diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el index c5f4bff24fa..10722403f7e 100644 --- a/lisp/org/org-plot.el +++ b/lisp/org/org-plot.el | |||
| @@ -206,18 +206,18 @@ manner suitable for prepending to a user-specified script." | |||
| 206 | (y-labels (plist-get params :ylabels)) | 206 | (y-labels (plist-get params :ylabels)) |
| 207 | (plot-str "'%s' using %s%d%s with %s title '%s'") | 207 | (plot-str "'%s' using %s%d%s with %s title '%s'") |
| 208 | (plot-cmd (case type | 208 | (plot-cmd (case type |
| 209 | ('2d "plot") | 209 | (2d "plot") |
| 210 | ('3d "splot") | 210 | (3d "splot") |
| 211 | ('grid "splot"))) | 211 | (grid "splot"))) |
| 212 | (script "reset") plot-lines) | 212 | (script "reset") plot-lines) |
| 213 | (flet ((add-to-script (line) (setf script (format "%s\n%s" script line)))) | 213 | (flet ((add-to-script (line) (setf script (format "%s\n%s" script line)))) |
| 214 | (when file ;; output file | 214 | (when file ;; output file |
| 215 | (add-to-script (format "set term %s" (file-name-extension file))) | 215 | (add-to-script (format "set term %s" (file-name-extension file))) |
| 216 | (add-to-script (format "set output '%s'" file))) | 216 | (add-to-script (format "set output '%s'" file))) |
| 217 | (case type ;; type | 217 | (case type ;; type |
| 218 | ('2d ()) | 218 | (2d ()) |
| 219 | ('3d (if map (add-to-script "set map"))) | 219 | (3d (if map (add-to-script "set map"))) |
| 220 | ('grid (if map | 220 | (grid (if map |
| 221 | (add-to-script "set pm3d map") | 221 | (add-to-script "set pm3d map") |
| 222 | (add-to-script "set pm3d")))) | 222 | (add-to-script "set pm3d")))) |
| 223 | (when title (add-to-script (format "set title '%s'" title))) ;; title | 223 | (when title (add-to-script (format "set title '%s'" title))) ;; title |
| @@ -243,7 +243,7 @@ manner suitable for prepending to a user-specified script." | |||
| 243 | "%Y-%m-%d-%H:%M:%S") "\""))) | 243 | "%Y-%m-%d-%H:%M:%S") "\""))) |
| 244 | (unless preface | 244 | (unless preface |
| 245 | (case type ;; plot command | 245 | (case type ;; plot command |
| 246 | ('2d (dotimes (col num-cols) | 246 | (2d (dotimes (col num-cols) |
| 247 | (unless (and (equal type '2d) | 247 | (unless (and (equal type '2d) |
| 248 | (or (and ind (equal (+ 1 col) ind)) | 248 | (or (and ind (equal (+ 1 col) ind)) |
| 249 | (and deps (not (member (+ 1 col) deps))))) | 249 | (and deps (not (member (+ 1 col) deps))))) |
| @@ -258,10 +258,10 @@ manner suitable for prepending to a user-specified script." | |||
| 258 | with | 258 | with |
| 259 | (or (nth col col-labels) (format "%d" (+ 1 col)))) | 259 | (or (nth col col-labels) (format "%d" (+ 1 col)))) |
| 260 | plot-lines))))) | 260 | plot-lines))))) |
| 261 | ('3d | 261 | (3d |
| 262 | (setq plot-lines (list (format "'%s' matrix with %s title ''" | 262 | (setq plot-lines (list (format "'%s' matrix with %s title ''" |
| 263 | data-file with)))) | 263 | data-file with)))) |
| 264 | ('grid | 264 | (grid |
| 265 | (setq plot-lines (list (format "'%s' with %s title ''" | 265 | (setq plot-lines (list (format "'%s' with %s title ''" |
| 266 | data-file with))))) | 266 | data-file with))))) |
| 267 | (add-to-script | 267 | (add-to-script |
| @@ -305,9 +305,9 @@ line directly before or after the table." | |||
| 305 | (setf params (org-plot/collect-options params)))) | 305 | (setf params (org-plot/collect-options params)))) |
| 306 | ;; dump table to datafile (very different for grid) | 306 | ;; dump table to datafile (very different for grid) |
| 307 | (case (plist-get params :plot-type) | 307 | (case (plist-get params :plot-type) |
| 308 | ('2d (org-plot/gnuplot-to-data table data-file params)) | 308 | (2d (org-plot/gnuplot-to-data table data-file params)) |
| 309 | ('3d (org-plot/gnuplot-to-data table data-file params)) | 309 | (3d (org-plot/gnuplot-to-data table data-file params)) |
| 310 | ('grid (let ((y-labels (org-plot/gnuplot-to-grid-data | 310 | (grid (let ((y-labels (org-plot/gnuplot-to-grid-data |
| 311 | table data-file params))) | 311 | table data-file params))) |
| 312 | (when y-labels (plist-put params :ylabels y-labels))))) | 312 | (when y-labels (plist-put params :ylabels y-labels))))) |
| 313 | ;; check for timestamp ind column | 313 | ;; check for timestamp ind column |
diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el index 98fdb75423d..bd1c3802044 100644 --- a/lisp/org/org-src.el +++ b/lisp/org/org-src.el | |||
| @@ -335,26 +335,26 @@ buffer." | |||
| 335 | 335 | ||
| 336 | (defun org-src-switch-to-buffer (buffer context) | 336 | (defun org-src-switch-to-buffer (buffer context) |
| 337 | (case org-src-window-setup | 337 | (case org-src-window-setup |
| 338 | ('current-window | 338 | (current-window |
| 339 | (switch-to-buffer buffer)) | 339 | (switch-to-buffer buffer)) |
| 340 | ('other-window | 340 | (other-window |
| 341 | (switch-to-buffer-other-window buffer)) | 341 | (switch-to-buffer-other-window buffer)) |
| 342 | ('other-frame | 342 | (other-frame |
| 343 | (case context | 343 | (case context |
| 344 | ('exit | 344 | (exit |
| 345 | (let ((frame (selected-frame))) | 345 | (let ((frame (selected-frame))) |
| 346 | (switch-to-buffer-other-frame buffer) | 346 | (switch-to-buffer-other-frame buffer) |
| 347 | (delete-frame frame))) | 347 | (delete-frame frame))) |
| 348 | ('save | 348 | (save |
| 349 | (kill-buffer (current-buffer)) | 349 | (kill-buffer (current-buffer)) |
| 350 | (switch-to-buffer buffer)) | 350 | (switch-to-buffer buffer)) |
| 351 | (t | 351 | (t |
| 352 | (switch-to-buffer-other-frame buffer)))) | 352 | (switch-to-buffer-other-frame buffer)))) |
| 353 | ('reorganize-frame | 353 | (reorganize-frame |
| 354 | (if (eq context 'edit) (delete-other-windows)) | 354 | (if (eq context 'edit) (delete-other-windows)) |
| 355 | (org-switch-to-buffer-other-window buffer) | 355 | (org-switch-to-buffer-other-window buffer) |
| 356 | (if (eq context 'exit) (delete-other-windows))) | 356 | (if (eq context 'exit) (delete-other-windows))) |
| 357 | ('switch-invisibly | 357 | (switch-invisibly |
| 358 | (set-buffer buffer)) | 358 | (set-buffer buffer)) |
| 359 | (t | 359 | (t |
| 360 | (message "Invalid value %s for org-src-window-setup" | 360 | (message "Invalid value %s for org-src-window-setup" |
diff --git a/lisp/play/bubbles.el b/lisp/play/bubbles.el index 8fea2cef6ad..0dc556007ba 100644 --- a/lisp/play/bubbles.el +++ b/lisp/play/bubbles.el | |||
| @@ -719,57 +719,57 @@ static char * dot3d_xpm[] = { | |||
| 719 | (defsubst bubbles--grid-width () | 719 | (defsubst bubbles--grid-width () |
| 720 | "Return the grid width for the current game theme." | 720 | "Return the grid width for the current game theme." |
| 721 | (car (case bubbles-game-theme | 721 | (car (case bubbles-game-theme |
| 722 | ('easy | 722 | (easy |
| 723 | bubbles--grid-small) | 723 | bubbles--grid-small) |
| 724 | ('medium | 724 | (medium |
| 725 | bubbles--grid-medium) | 725 | bubbles--grid-medium) |
| 726 | ('difficult | 726 | (difficult |
| 727 | bubbles--grid-large) | 727 | bubbles--grid-large) |
| 728 | ('hard | 728 | (hard |
| 729 | bubbles--grid-huge) | 729 | bubbles--grid-huge) |
| 730 | ('user-defined | 730 | (user-defined |
| 731 | bubbles-grid-size)))) | 731 | bubbles-grid-size)))) |
| 732 | 732 | ||
| 733 | (defsubst bubbles--grid-height () | 733 | (defsubst bubbles--grid-height () |
| 734 | "Return the grid height for the current game theme." | 734 | "Return the grid height for the current game theme." |
| 735 | (cdr (case bubbles-game-theme | 735 | (cdr (case bubbles-game-theme |
| 736 | ('easy | 736 | (easy |
| 737 | bubbles--grid-small) | 737 | bubbles--grid-small) |
| 738 | ('medium | 738 | (medium |
| 739 | bubbles--grid-medium) | 739 | bubbles--grid-medium) |
| 740 | ('difficult | 740 | (difficult |
| 741 | bubbles--grid-large) | 741 | bubbles--grid-large) |
| 742 | ('hard | 742 | (hard |
| 743 | bubbles--grid-huge) | 743 | bubbles--grid-huge) |
| 744 | ('user-defined | 744 | (user-defined |
| 745 | bubbles-grid-size)))) | 745 | bubbles-grid-size)))) |
| 746 | 746 | ||
| 747 | (defsubst bubbles--colors () | 747 | (defsubst bubbles--colors () |
| 748 | "Return the color list for the current game theme." | 748 | "Return the color list for the current game theme." |
| 749 | (case bubbles-game-theme | 749 | (case bubbles-game-theme |
| 750 | ('easy | 750 | (easy |
| 751 | bubbles--colors-2) | 751 | bubbles--colors-2) |
| 752 | ('medium | 752 | (medium |
| 753 | bubbles--colors-3) | 753 | bubbles--colors-3) |
| 754 | ('difficult | 754 | (difficult |
| 755 | bubbles--colors-4) | 755 | bubbles--colors-4) |
| 756 | ('hard | 756 | (hard |
| 757 | bubbles--colors-5) | 757 | bubbles--colors-5) |
| 758 | ('user-defined | 758 | (user-defined |
| 759 | bubbles-colors))) | 759 | bubbles-colors))) |
| 760 | 760 | ||
| 761 | (defsubst bubbles--shift-mode () | 761 | (defsubst bubbles--shift-mode () |
| 762 | "Return the shift mode for the current game theme." | 762 | "Return the shift mode for the current game theme." |
| 763 | (case bubbles-game-theme | 763 | (case bubbles-game-theme |
| 764 | ('easy | 764 | (easy |
| 765 | 'default) | 765 | 'default) |
| 766 | ('medium | 766 | (medium |
| 767 | 'default) | 767 | 'default) |
| 768 | ('difficult | 768 | (difficult |
| 769 | 'always) | 769 | 'always) |
| 770 | ('hard | 770 | (hard |
| 771 | 'always) | 771 | 'always) |
| 772 | ('user-defined | 772 | (user-defined |
| 773 | bubbles-shift-mode))) | 773 | bubbles-shift-mode))) |
| 774 | 774 | ||
| 775 | (defun bubbles-save-settings () | 775 | (defun bubbles-save-settings () |
| @@ -1346,11 +1346,11 @@ Return t if new char is non-empty." | |||
| 1346 | (when (and (display-images-p) | 1346 | (when (and (display-images-p) |
| 1347 | (not (eq bubbles-graphics-theme 'ascii))) | 1347 | (not (eq bubbles-graphics-theme 'ascii))) |
| 1348 | (let ((template (case bubbles-graphics-theme | 1348 | (let ((template (case bubbles-graphics-theme |
| 1349 | ('circles bubbles--image-template-circle) | 1349 | (circles bubbles--image-template-circle) |
| 1350 | ('balls bubbles--image-template-ball) | 1350 | (balls bubbles--image-template-ball) |
| 1351 | ('squares bubbles--image-template-square) | 1351 | (squares bubbles--image-template-square) |
| 1352 | ('diamonds bubbles--image-template-diamond) | 1352 | (diamonds bubbles--image-template-diamond) |
| 1353 | ('emacs bubbles--image-template-emacs)))) | 1353 | (emacs bubbles--image-template-emacs)))) |
| 1354 | (setq bubbles--empty-image | 1354 | (setq bubbles--empty-image |
| 1355 | (create-image (replace-regexp-in-string | 1355 | (create-image (replace-regexp-in-string |
| 1356 | "^\"\\(.*\\)\t.*c .*\",$" | 1356 | "^\"\\(.*\\)\t.*c .*\",$" |
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el index d3d8350a43f..99e3b487437 100644 --- a/lisp/play/gamegrid.el +++ b/lisp/play/gamegrid.el | |||
| @@ -213,19 +213,19 @@ static unsigned char gamegrid_bits[] = { | |||
| 213 | (let ((data (gamegrid-match-spec-list data-spec-list)) | 213 | (let ((data (gamegrid-match-spec-list data-spec-list)) |
| 214 | (color (gamegrid-match-spec-list color-spec-list))) | 214 | (color (gamegrid-match-spec-list color-spec-list))) |
| 215 | (case data | 215 | (case data |
| 216 | ('color-x | 216 | (color-x |
| 217 | (gamegrid-make-color-x-face color)) | 217 | (gamegrid-make-color-x-face color)) |
| 218 | ('grid-x | 218 | (grid-x |
| 219 | (unless gamegrid-grid-x-face | 219 | (unless gamegrid-grid-x-face |
| 220 | (setq gamegrid-grid-x-face (gamegrid-make-grid-x-face))) | 220 | (setq gamegrid-grid-x-face (gamegrid-make-grid-x-face))) |
| 221 | gamegrid-grid-x-face) | 221 | gamegrid-grid-x-face) |
| 222 | ('mono-x | 222 | (mono-x |
| 223 | (unless gamegrid-mono-x-face | 223 | (unless gamegrid-mono-x-face |
| 224 | (setq gamegrid-mono-x-face (gamegrid-make-mono-x-face))) | 224 | (setq gamegrid-mono-x-face (gamegrid-make-mono-x-face))) |
| 225 | gamegrid-mono-x-face) | 225 | gamegrid-mono-x-face) |
| 226 | ('color-tty | 226 | (color-tty |
| 227 | (gamegrid-make-color-tty-face color)) | 227 | (gamegrid-make-color-tty-face color)) |
| 228 | ('mono-tty | 228 | (mono-tty |
| 229 | (unless gamegrid-mono-tty-face | 229 | (unless gamegrid-mono-tty-face |
| 230 | (setq gamegrid-mono-tty-face (gamegrid-make-mono-tty-face))) | 230 | (setq gamegrid-mono-tty-face (gamegrid-make-mono-tty-face))) |
| 231 | gamegrid-mono-tty-face)))) | 231 | gamegrid-mono-tty-face)))) |
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el index c376b25fae0..0f823c806e0 100644 --- a/lisp/progmodes/delphi.el +++ b/lisp/progmodes/delphi.el | |||
| @@ -26,14 +26,14 @@ | |||
| 26 | 26 | ||
| 27 | ;; To enter Delphi mode when you find a Delphi source file, one must override | 27 | ;; To enter Delphi mode when you find a Delphi source file, one must override |
| 28 | ;; the auto-mode-alist to associate Delphi with .pas (and .dpr and .dpk) | 28 | ;; the auto-mode-alist to associate Delphi with .pas (and .dpr and .dpk) |
| 29 | ;; files. Emacs, by default, will otherwise enter Pascal mode. E.g. | 29 | ;; files. Emacs, by default, will otherwise enter Pascal mode. E.g. |
| 30 | ;; | 30 | ;; |
| 31 | ;; (autoload 'delphi-mode "delphi") | 31 | ;; (autoload 'delphi-mode "delphi") |
| 32 | ;; (setq auto-mode-alist | 32 | ;; (setq auto-mode-alist |
| 33 | ;; (cons '("\\.\\(pas\\|dpr\\|dpk\\)$" . delphi-mode) auto-mode-alist)) | 33 | ;; (cons '("\\.\\(pas\\|dpr\\|dpk\\)$" . delphi-mode) auto-mode-alist)) |
| 34 | 34 | ||
| 35 | ;; To get keyword, comment, and string literal coloring, be sure that font-lock | 35 | ;; To get keyword, comment, and string literal coloring, be sure that font-lock |
| 36 | ;; is running. One can manually do M-x font-lock-mode in a Delphi buffer, or | 36 | ;; is running. One can manually do M-x font-lock-mode in a Delphi buffer, or |
| 37 | ;; one can put in .emacs: | 37 | ;; one can put in .emacs: |
| 38 | ;; | 38 | ;; |
| 39 | ;; (add-hook 'delphi-mode-hook 'turn-on-font-lock) | 39 | ;; (add-hook 'delphi-mode-hook 'turn-on-font-lock) |
| @@ -56,8 +56,8 @@ | |||
| 56 | ;; When you have entered Delphi mode, you may get more info by pressing | 56 | ;; When you have entered Delphi mode, you may get more info by pressing |
| 57 | ;; C-h m. | 57 | ;; C-h m. |
| 58 | 58 | ||
| 59 | ;; This delphi mode implementation is fairly tolerant of syntax errors, relying | 59 | ;; This Delphi mode implementation is fairly tolerant of syntax errors, relying |
| 60 | ;; as much as possible on the indentation of the previous statement. This also | 60 | ;; as much as possible on the indentation of the previous statement. This also |
| 61 | ;; makes it faster and simpler, since there is less searching for properly | 61 | ;; makes it faster and simpler, since there is less searching for properly |
| 62 | ;; constructed beginnings. | 62 | ;; constructed beginnings. |
| 63 | 63 | ||
| @@ -74,15 +74,16 @@ | |||
| 74 | "True if in debug mode.") | 74 | "True if in debug mode.") |
| 75 | 75 | ||
| 76 | (defcustom delphi-search-path "." | 76 | (defcustom delphi-search-path "." |
| 77 | "*Directories to search when finding external units. It is a list of | 77 | "*Directories to search when finding external units. |
| 78 | directory strings. If only a single directory, it can be a single | 78 | It is a list of directory strings. If only a single directory, |
| 79 | string instead of a list. If a directory ends in \"...\" then that | 79 | it can be a single string instead of a list. If a directory |
| 80 | directory is recursively searched." | 80 | ends in \"...\" then that directory is recursively searched." |
| 81 | :type 'string | 81 | :type 'string |
| 82 | :group 'delphi) | 82 | :group 'delphi) |
| 83 | 83 | ||
| 84 | (defcustom delphi-indent-level 3 | 84 | (defcustom delphi-indent-level 3 |
| 85 | "*Indentation of Delphi statements with respect to containing block. E.g. | 85 | "*Indentation of Delphi statements with respect to containing block. |
| 86 | E.g. | ||
| 86 | 87 | ||
| 87 | begin | 88 | begin |
| 88 | // This is an indent of 3. | 89 | // This is an indent of 3. |
| @@ -117,7 +118,7 @@ end; end;" | |||
| 117 | :group 'delphi) | 118 | :group 'delphi) |
| 118 | 119 | ||
| 119 | (defcustom delphi-verbose t ; nil | 120 | (defcustom delphi-verbose t ; nil |
| 120 | "*If true then delphi token processing progress is reported to the user." | 121 | "*If true then Delphi token processing progress is reported to the user." |
| 121 | :type 'boolean | 122 | :type 'boolean |
| 122 | :group 'delphi) | 123 | :group 'delphi) |
| 123 | 124 | ||
| @@ -137,17 +138,17 @@ differs from the default." | |||
| 137 | :group 'delphi) | 138 | :group 'delphi) |
| 138 | 139 | ||
| 139 | (defcustom delphi-comment-face 'font-lock-comment-face | 140 | (defcustom delphi-comment-face 'font-lock-comment-face |
| 140 | "*Face used to color delphi comments." | 141 | "*Face used to color Delphi comments." |
| 141 | :type 'face | 142 | :type 'face |
| 142 | :group 'delphi) | 143 | :group 'delphi) |
| 143 | 144 | ||
| 144 | (defcustom delphi-string-face 'font-lock-string-face | 145 | (defcustom delphi-string-face 'font-lock-string-face |
| 145 | "*Face used to color delphi strings." | 146 | "*Face used to color Delphi strings." |
| 146 | :type 'face | 147 | :type 'face |
| 147 | :group 'delphi) | 148 | :group 'delphi) |
| 148 | 149 | ||
| 149 | (defcustom delphi-keyword-face 'font-lock-keyword-face | 150 | (defcustom delphi-keyword-face 'font-lock-keyword-face |
| 150 | "*Face used to color delphi keywords." | 151 | "*Face used to color Delphi keywords." |
| 151 | :type 'face | 152 | :type 'face |
| 152 | :group 'delphi) | 153 | :group 'delphi) |
| 153 | 154 | ||
| @@ -720,9 +721,9 @@ routine.") | |||
| 720 | (delphi-progress-done))))) | 721 | (delphi-progress-done))))) |
| 721 | 722 | ||
| 722 | (defvar delphi-ignore-changes t | 723 | (defvar delphi-ignore-changes t |
| 723 | "Internal flag to control if the delphi-mode responds to buffer changes. | 724 | "Internal flag to control if the Delphi mode responds to buffer changes. |
| 724 | Defaults to t in case the delphi-after-change function is called on a | 725 | Defaults to t in case the `delphi-after-change' function is called on a |
| 725 | non-delphi buffer. Set to nil in a delphi buffer. To override, just do: | 726 | non-Delphi buffer. Set to nil in a Delphi buffer. To override, just do: |
| 726 | (let ((delphi-ignore-changes t)) ...)") | 727 | (let ((delphi-ignore-changes t)) ...)") |
| 727 | 728 | ||
| 728 | (defun delphi-after-change (change-start change-end old-length) | 729 | (defun delphi-after-change (change-start change-end old-length) |
| @@ -1521,8 +1522,8 @@ non-delphi buffer. Set to nil in a delphi buffer. To override, just do: | |||
| 1521 | indent))) | 1522 | indent))) |
| 1522 | 1523 | ||
| 1523 | (defun delphi-indent-line () | 1524 | (defun delphi-indent-line () |
| 1524 | "Indent the current line according to the current language construct. If | 1525 | "Indent the current line according to the current language construct. |
| 1525 | before the indent, the point is moved to the indent." | 1526 | If before the indent, the point is moved to the indent." |
| 1526 | (interactive) | 1527 | (interactive) |
| 1527 | (delphi-save-match-data | 1528 | (delphi-save-match-data |
| 1528 | (let ((marked-point (point-marker)) ; Maintain our position reliably. | 1529 | (let ((marked-point (point-marker)) ; Maintain our position reliably. |
| @@ -1547,7 +1548,7 @@ before the indent, the point is moved to the indent." | |||
| 1547 | (set-marker marked-point nil)))) | 1548 | (set-marker marked-point nil)))) |
| 1548 | 1549 | ||
| 1549 | (defvar delphi-mode-abbrev-table nil | 1550 | (defvar delphi-mode-abbrev-table nil |
| 1550 | "Abbrev table in use in delphi-mode buffers.") | 1551 | "Abbrev table in use in Delphi mode buffers.") |
| 1551 | (define-abbrev-table 'delphi-mode-abbrev-table ()) | 1552 | (define-abbrev-table 'delphi-mode-abbrev-table ()) |
| 1552 | 1553 | ||
| 1553 | (defmacro delphi-ensure-buffer (buffer-var buffer-name) | 1554 | (defmacro delphi-ensure-buffer (buffer-var buffer-name) |
| @@ -1568,7 +1569,7 @@ before the indent, the point is moved to the indent." | |||
| 1568 | ;; Debugging helpers: | 1569 | ;; Debugging helpers: |
| 1569 | 1570 | ||
| 1570 | (defvar delphi-debug-buffer nil | 1571 | (defvar delphi-debug-buffer nil |
| 1571 | "Buffer to write delphi-mode debug messages to. Created on demand.") | 1572 | "Buffer to write Delphi mode debug messages to. Created on demand.") |
| 1572 | 1573 | ||
| 1573 | (defun delphi-debug-log (format-string &rest args) | 1574 | (defun delphi-debug-log (format-string &rest args) |
| 1574 | ;; Writes a message to the log buffer. | 1575 | ;; Writes a message to the log buffer. |
| @@ -1679,7 +1680,7 @@ before the indent, the point is moved to the indent." | |||
| 1679 | 1680 | ||
| 1680 | (defun delphi-tab () | 1681 | (defun delphi-tab () |
| 1681 | "Indent the region, when Transient Mark mode is enabled and the region is | 1682 | "Indent the region, when Transient Mark mode is enabled and the region is |
| 1682 | active. Otherwise, indent the current line or insert a TAB, depending on the | 1683 | active. Otherwise, indent the current line or insert a TAB, depending on the |
| 1683 | value of `delphi-tab-always-indents' and the current line position." | 1684 | value of `delphi-tab-always-indents' and the current line position." |
| 1684 | (interactive) | 1685 | (interactive) |
| 1685 | (cond ((use-region-p) | 1686 | (cond ((use-region-p) |
| @@ -1768,8 +1769,8 @@ value of `delphi-tab-always-indents' and the current line position." | |||
| 1768 | nil)) | 1769 | nil)) |
| 1769 | 1770 | ||
| 1770 | (defun delphi-find-unit (unit) | 1771 | (defun delphi-find-unit (unit) |
| 1771 | "Finds the specified delphi source file according to `delphi-search-path'. | 1772 | "Find the specified Delphi source file according to `delphi-search-path'. |
| 1772 | If no extension is specified, .pas is assumed. Creates a buffer for the unit." | 1773 | If no extension is specified, .pas is assumed. Creates a buffer for the unit." |
| 1773 | (interactive "sDelphi unit name: ") | 1774 | (interactive "sDelphi unit name: ") |
| 1774 | (let* ((unit-file (if (string-match "^\\(.*\\)\\.[a-z]+$" unit) | 1775 | (let* ((unit-file (if (string-match "^\\(.*\\)\\.[a-z]+$" unit) |
| 1775 | unit | 1776 | unit |
| @@ -1791,7 +1792,7 @@ If no extension is specified, .pas is assumed. Creates a buffer for the unit." | |||
| 1791 | "Find the definition of the identifier under the current point, searching | 1792 | "Find the definition of the identifier under the current point, searching |
| 1792 | in external units if necessary (as listed in the current unit's use clause). | 1793 | in external units if necessary (as listed in the current unit's use clause). |
| 1793 | The set of directories to search for a unit is specified by the global variable | 1794 | The set of directories to search for a unit is specified by the global variable |
| 1794 | delphi-search-path." | 1795 | `delphi-search-path'." |
| 1795 | (interactive) | 1796 | (interactive) |
| 1796 | (error "delphi-find-current-xdef: not implemented yet")) | 1797 | (error "delphi-find-current-xdef: not implemented yet")) |
| 1797 | 1798 | ||
| @@ -1802,7 +1803,7 @@ it is a routine." | |||
| 1802 | (error "delphi-find-current-body: not implemented yet")) | 1803 | (error "delphi-find-current-body: not implemented yet")) |
| 1803 | 1804 | ||
| 1804 | (defun delphi-fill-comment () | 1805 | (defun delphi-fill-comment () |
| 1805 | "Fills the text of the current comment, according to `fill-column'. | 1806 | "Fill the text of the current comment, according to `fill-column'. |
| 1806 | An error is raised if not in a comment." | 1807 | An error is raised if not in a comment." |
| 1807 | (interactive) | 1808 | (interactive) |
| 1808 | (save-excursion | 1809 | (save-excursion |
| @@ -1888,8 +1889,8 @@ An error is raised if not in a comment." | |||
| 1888 | (delphi-progress-done))))))) | 1889 | (delphi-progress-done))))))) |
| 1889 | 1890 | ||
| 1890 | (defun delphi-new-comment-line () | 1891 | (defun delphi-new-comment-line () |
| 1891 | "If in a // comment, does a newline, indented such that one is still in the | 1892 | "If in a // comment, do a newline, indented such that one is still in the |
| 1892 | comment block. If not in a // comment, just does a normal newline." | 1893 | comment block. If not in a // comment, just does a normal newline." |
| 1893 | (interactive) | 1894 | (interactive) |
| 1894 | (let ((comment (delphi-current-token))) | 1895 | (let ((comment (delphi-current-token))) |
| 1895 | (if (not (eq 'comment-single-line (delphi-token-kind comment))) | 1896 | (if (not (eq 'comment-single-line (delphi-token-kind comment))) |
| @@ -1923,7 +1924,7 @@ comment block. If not in a // comment, just does a normal newline." | |||
| 1923 | nil ; Syntax begin movement doesn't apply | 1924 | nil ; Syntax begin movement doesn't apply |
| 1924 | (font-lock-fontify-region-function . delphi-fontify-region) | 1925 | (font-lock-fontify-region-function . delphi-fontify-region) |
| 1925 | (font-lock-verbose . delphi-fontifying-progress-step)) | 1926 | (font-lock-verbose . delphi-fontifying-progress-step)) |
| 1926 | "Delphi mode font-lock defaults. Syntactic fontification is ignored.") | 1927 | "Delphi mode font-lock defaults. Syntactic fontification is ignored.") |
| 1927 | 1928 | ||
| 1928 | (defvar delphi-debug-mode-map | 1929 | (defvar delphi-debug-mode-map |
| 1929 | (let ((kmap (make-sparse-keymap))) | 1930 | (let ((kmap (make-sparse-keymap))) |
| @@ -1944,7 +1945,7 @@ comment block. If not in a // comment, just does a normal newline." | |||
| 1944 | ("x" delphi-debug-show-is-stable) | 1945 | ("x" delphi-debug-show-is-stable) |
| 1945 | )) | 1946 | )) |
| 1946 | kmap) | 1947 | kmap) |
| 1947 | "Keystrokes for delphi-mode debug commands.") | 1948 | "Keystrokes for Delphi mode debug commands.") |
| 1948 | 1949 | ||
| 1949 | (defvar delphi-mode-map | 1950 | (defvar delphi-mode-map |
| 1950 | (let ((kmap (make-sparse-keymap))) | 1951 | (let ((kmap (make-sparse-keymap))) |
| @@ -1964,7 +1965,7 @@ comment block. If not in a // comment, just does a normal newline." | |||
| 1964 | "Keymap used in Delphi mode.") | 1965 | "Keymap used in Delphi mode.") |
| 1965 | 1966 | ||
| 1966 | (defconst delphi-mode-syntax-table (make-syntax-table) | 1967 | (defconst delphi-mode-syntax-table (make-syntax-table) |
| 1967 | "Delphi mode's syntax table. It is just a standard syntax table. | 1968 | "Delphi mode's syntax table. It is just a standard syntax table. |
| 1968 | This is ok since we do our own keyword/comment/string face coloring.") | 1969 | This is ok since we do our own keyword/comment/string face coloring.") |
| 1969 | 1970 | ||
| 1970 | ;;;###autoload | 1971 | ;;;###autoload |
| @@ -1976,7 +1977,7 @@ This is ok since we do our own keyword/comment/string face coloring.") | |||
| 1976 | \\[delphi-fill-comment]\t- Fill the current comment. | 1977 | \\[delphi-fill-comment]\t- Fill the current comment. |
| 1977 | \\[delphi-new-comment-line]\t- If in a // comment, do a new comment line. | 1978 | \\[delphi-new-comment-line]\t- If in a // comment, do a new comment line. |
| 1978 | 1979 | ||
| 1979 | M-x indent-region also works for indenting a whole region. | 1980 | \\[indent-region] also works for indenting a whole region. |
| 1980 | 1981 | ||
| 1981 | Customization: | 1982 | Customization: |
| 1982 | 1983 | ||
| @@ -1996,21 +1997,21 @@ Customization: | |||
| 1996 | `delphi-search-path' (default .) | 1997 | `delphi-search-path' (default .) |
| 1997 | Directories to search when finding external units. | 1998 | Directories to search when finding external units. |
| 1998 | `delphi-verbose' (default nil) | 1999 | `delphi-verbose' (default nil) |
| 1999 | If true then delphi token processing progress is reported to the user. | 2000 | If true then Delphi token processing progress is reported to the user. |
| 2000 | 2001 | ||
| 2001 | Coloring: | 2002 | Coloring: |
| 2002 | 2003 | ||
| 2003 | `delphi-comment-face' (default font-lock-comment-face) | 2004 | `delphi-comment-face' (default font-lock-comment-face) |
| 2004 | Face used to color delphi comments. | 2005 | Face used to color Delphi comments. |
| 2005 | `delphi-string-face' (default font-lock-string-face) | 2006 | `delphi-string-face' (default font-lock-string-face) |
| 2006 | Face used to color delphi strings. | 2007 | Face used to color Delphi strings. |
| 2007 | `delphi-keyword-face' (default font-lock-keyword-face) | 2008 | `delphi-keyword-face' (default font-lock-keyword-face) |
| 2008 | Face used to color delphi keywords. | 2009 | Face used to color Delphi keywords. |
| 2009 | `delphi-other-face' (default nil) | 2010 | `delphi-other-face' (default nil) |
| 2010 | Face used to color everything else. | 2011 | Face used to color everything else. |
| 2011 | 2012 | ||
| 2012 | Turning on Delphi mode calls the value of the variable delphi-mode-hook with | 2013 | Turning on Delphi mode calls the value of the variable `delphi-mode-hook' |
| 2013 | no args, if that value is non-nil." | 2014 | with no args, if that value is non-nil." |
| 2014 | (interactive) | 2015 | (interactive) |
| 2015 | (kill-all-local-variables) | 2016 | (kill-all-local-variables) |
| 2016 | (use-local-map delphi-mode-map) | 2017 | (use-local-map delphi-mode-map) |
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index d674484345a..87e5875c943 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el | |||
| @@ -3566,12 +3566,12 @@ KIND is an additional string printed in the buffer." | |||
| 3566 | (insert kind) | 3566 | (insert kind) |
| 3567 | (indent-to 50) | 3567 | (indent-to 50) |
| 3568 | (insert (case (second info) | 3568 | (insert (case (second info) |
| 3569 | ('ebrowse-ts-member-functions "member function") | 3569 | (ebrowse-ts-member-functions "member function") |
| 3570 | ('ebrowse-ts-member-variables "member variable") | 3570 | (ebrowse-ts-member-variables "member variable") |
| 3571 | ('ebrowse-ts-static-functions "static function") | 3571 | (ebrowse-ts-static-functions "static function") |
| 3572 | ('ebrowse-ts-static-variables "static variable") | 3572 | (ebrowse-ts-static-variables "static variable") |
| 3573 | ('ebrowse-ts-friends (if globals-p "define" "friend")) | 3573 | (ebrowse-ts-friends (if globals-p "define" "friend")) |
| 3574 | ('ebrowse-ts-types "type") | 3574 | (ebrowse-ts-types "type") |
| 3575 | (t "unknown")) | 3575 | (t "unknown")) |
| 3576 | "\n"))) | 3576 | "\n"))) |
| 3577 | 3577 | ||
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 9d40b4d8fd7..c8b156c5441 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el | |||
| @@ -974,7 +974,7 @@ With ARG, do it many times. Negative ARG means move forward." | |||
| 974 | (goto-char (scan-sexps (1+ (point)) -1)) | 974 | (goto-char (scan-sexps (1+ (point)) -1)) |
| 975 | (case (char-before) | 975 | (case (char-before) |
| 976 | (?% (forward-char -1)) | 976 | (?% (forward-char -1)) |
| 977 | ('(?q ?Q ?w ?W ?r ?x) | 977 | ((?q ?Q ?w ?W ?r ?x) |
| 978 | (if (eq (char-before (1- (point))) ?%) (forward-char -2)))) | 978 | (if (eq (char-before (1- (point))) ?%) (forward-char -2)))) |
| 979 | nil) | 979 | nil) |
| 980 | ((looking-at "\\s\"\\|\\\\\\S_") | 980 | ((looking-at "\\s\"\\|\\\\\\S_") |
diff --git a/lisp/shell.el b/lisp/shell.el index bceea990baf..dde81c6cb95 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -583,6 +583,21 @@ Otherwise, one argument `-i' is passed to the shell. | |||
| 583 | (get-buffer-create (or buffer "*shell*")) | 583 | (get-buffer-create (or buffer "*shell*")) |
| 584 | ;; If the current buffer is a dead shell buffer, use it. | 584 | ;; If the current buffer is a dead shell buffer, use it. |
| 585 | (current-buffer))) | 585 | (current-buffer))) |
| 586 | |||
| 587 | ;; On remote hosts, the local `shell-file-name' might be useless. | ||
| 588 | (if (and (interactive-p) | ||
| 589 | (file-remote-p default-directory) | ||
| 590 | (null explicit-shell-file-name) | ||
| 591 | (null (getenv "ESHELL"))) | ||
| 592 | (with-current-buffer buffer | ||
| 593 | (set (make-local-variable 'explicit-shell-file-name) | ||
| 594 | (file-remote-p | ||
| 595 | (expand-file-name | ||
| 596 | (read-file-name | ||
| 597 | "Remote shell path: " default-directory shell-file-name | ||
| 598 | t shell-file-name)) | ||
| 599 | 'localname)))) | ||
| 600 | |||
| 586 | ;; Pop to buffer, so that the buffer's window will be correctly set | 601 | ;; Pop to buffer, so that the buffer's window will be correctly set |
| 587 | ;; when we call comint (so that comint sets the COLUMNS env var properly). | 602 | ;; when we call comint (so that comint sets the COLUMNS env var properly). |
| 588 | (pop-to-buffer buffer) | 603 | (pop-to-buffer buffer) |
diff --git a/lisp/startup.el b/lisp/startup.el index 384d81391ab..65b1a013c21 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1006,19 +1006,23 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 1006 | (if init-file-user | 1006 | (if init-file-user |
| 1007 | (let ((user-init-file-1 | 1007 | (let ((user-init-file-1 |
| 1008 | (cond | 1008 | (cond |
| 1009 | ((eq system-type 'ms-dos) | 1009 | ((eq system-type 'ms-dos) |
| 1010 | (concat "~" init-file-user "/_emacs")) | 1010 | (concat "~" init-file-user "/_emacs")) |
| 1011 | ((eq system-type 'windows-nt) | 1011 | ((not (eq system-type 'windows-nt)) |
| 1012 | ;; Prefer .emacs on Windows. | 1012 | (concat "~" init-file-user "/.emacs")) |
| 1013 | (if (directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$") | 1013 | ;; Else deal with the Windows situation |
| 1014 | "~/.emacs" | 1014 | ((directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$") |
| 1015 | ;; Also support _emacs for compatibility. | 1015 | ;; Prefer .emacs on Windows. |
| 1016 | (if (directory-files "~" nil "^_emacs\\(\\.elc?\\)?$") | 1016 | "~/.emacs") |
| 1017 | "~/_emacs" | 1017 | ((directory-files "~" nil "^_emacs\\(\\.elc?\\)?$") |
| 1018 | ;; But default to .emacs if _emacs does not exist. | 1018 | ;; Also support _emacs for compatibility, but warn about it. |
| 1019 | "~/.emacs"))) | 1019 | (display-warning |
| 1020 | (t | 1020 | 'initialization |
| 1021 | (concat "~" init-file-user "/.emacs"))))) | 1021 | "`_emacs' init file is deprecated, please use `.emacs'" |
| 1022 | :warning) | ||
| 1023 | "~/_emacs") | ||
| 1024 | (t ;; But default to .emacs if _emacs does not exist. | ||
| 1025 | "~/.emacs")))) | ||
| 1022 | ;; This tells `load' to store the file name found | 1026 | ;; This tells `load' to store the file name found |
| 1023 | ;; into user-init-file. | 1027 | ;; into user-init-file. |
| 1024 | (setq user-init-file t) | 1028 | (setq user-init-file t) |
| @@ -1191,7 +1195,7 @@ the `--debug-init' option to view a complete error backtrace." | |||
| 1191 | (dolist (subdir (directory-files dir)) | 1195 | (dolist (subdir (directory-files dir)) |
| 1192 | (when (and (file-directory-p (expand-file-name subdir dir)) | 1196 | (when (and (file-directory-p (expand-file-name subdir dir)) |
| 1193 | ;; package-subdirectory-regexp from package.el | 1197 | ;; package-subdirectory-regexp from package.el |
| 1194 | (string-match "^\\([^.].*\\)-\\([0-9]+\\(?:[.][0-9]+\\)*\\)$" | 1198 | (string-match "\\`\\([^.].*?\\)-\\([0-9]+\\(?:[.][0-9]+\\|\\(?:pre\\|beta\\|alpha\\)[0-9]+\\)*\\)\\'" |
| 1195 | subdir)) | 1199 | subdir)) |
| 1196 | (throw 'package-dir-found t))))))) | 1200 | (throw 'package-dir-found t))))))) |
| 1197 | (package-initialize)) | 1201 | (package-initialize)) |
diff --git a/lisp/subr.el b/lisp/subr.el index 3330fa20379..6f39a41709e 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -2003,24 +2003,24 @@ If optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore | |||
| 2003 | keyboard-quit events while waiting for a valid input." | 2003 | keyboard-quit events while waiting for a valid input." |
| 2004 | (unless (consp chars) | 2004 | (unless (consp chars) |
| 2005 | (error "Called `read-char-choice' without valid char choices")) | 2005 | (error "Called `read-char-choice' without valid char choices")) |
| 2006 | (let ((cursor-in-echo-area t) | 2006 | (let (char done) |
| 2007 | (executing-kbd-macro executing-kbd-macro) | 2007 | (let ((cursor-in-echo-area t) |
| 2008 | char done) | 2008 | (executing-kbd-macro executing-kbd-macro)) |
| 2009 | (while (not done) | 2009 | (while (not done) |
| 2010 | (unless (get-text-property 0 'face prompt) | 2010 | (unless (get-text-property 0 'face prompt) |
| 2011 | (setq prompt (propertize prompt 'face 'minibuffer-prompt))) | 2011 | (setq prompt (propertize prompt 'face 'minibuffer-prompt))) |
| 2012 | (setq char (let ((inhibit-quit inhibit-keyboard-quit)) | 2012 | (setq char (let ((inhibit-quit inhibit-keyboard-quit)) |
| 2013 | (read-key prompt))) | 2013 | (read-key prompt))) |
| 2014 | (cond | 2014 | (cond |
| 2015 | ((not (numberp char))) | 2015 | ((not (numberp char))) |
| 2016 | ((memq char chars) | 2016 | ((memq char chars) |
| 2017 | (setq done t)) | 2017 | (setq done t)) |
| 2018 | ((and executing-kbd-macro (= char -1)) | 2018 | ((and executing-kbd-macro (= char -1)) |
| 2019 | ;; read-event returns -1 if we are in a kbd macro and | 2019 | ;; read-event returns -1 if we are in a kbd macro and |
| 2020 | ;; there are no more events in the macro. Attempt to | 2020 | ;; there are no more events in the macro. Attempt to |
| 2021 | ;; get an event interactively. | 2021 | ;; get an event interactively. |
| 2022 | (setq executing-kbd-macro nil)))) | 2022 | (setq executing-kbd-macro nil))))) |
| 2023 | ;; Display the question with the answer. | 2023 | ;; Display the question with the answer. But without cursor-in-echo-area. |
| 2024 | (message "%s%s" prompt (char-to-string char)) | 2024 | (message "%s%s" prompt (char-to-string char)) |
| 2025 | char)) | 2025 | char)) |
| 2026 | 2026 | ||
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index d4970207b94..01b6f2fc26e 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -104,7 +104,7 @@ See `run-hooks'." | |||
| 104 | ;; We pass a filename to create-file-buffer because it is what | 104 | ;; We pass a filename to create-file-buffer because it is what |
| 105 | ;; the function expects, and also what uniquify needs (if active) | 105 | ;; the function expects, and also what uniquify needs (if active) |
| 106 | (with-current-buffer (create-file-buffer (expand-file-name bname dir)) | 106 | (with-current-buffer (create-file-buffer (expand-file-name bname dir)) |
| 107 | (cd dir) | 107 | (setq default-directory dir) |
| 108 | (vc-setup-buffer (current-buffer)) | 108 | (vc-setup-buffer (current-buffer)) |
| 109 | ;; Reset the vc-parent-buffer-name so that it does not appear | 109 | ;; Reset the vc-parent-buffer-name so that it does not appear |
| 110 | ;; in the mode-line. | 110 | ;; in the mode-line. |
| @@ -1002,7 +1002,7 @@ specific headers." | |||
| 1002 | (generate-new-buffer (format " *VC-%s* tmp status" backend)))) | 1002 | (generate-new-buffer (format " *VC-%s* tmp status" backend)))) |
| 1003 | (lexical-let ((buffer (current-buffer))) | 1003 | (lexical-let ((buffer (current-buffer))) |
| 1004 | (with-current-buffer vc-dir-process-buffer | 1004 | (with-current-buffer vc-dir-process-buffer |
| 1005 | (cd def-dir) | 1005 | (setq default-directory def-dir) |
| 1006 | (erase-buffer) | 1006 | (erase-buffer) |
| 1007 | (vc-call-backend | 1007 | (vc-call-backend |
| 1008 | backend 'dir-status-files def-dir files default-state | 1008 | backend 'dir-status-files def-dir files default-state |
| @@ -1067,7 +1067,7 @@ Throw an error if another update process is in progress." | |||
| 1067 | (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "") | 1067 | (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "") |
| 1068 | (lexical-let ((buffer (current-buffer))) | 1068 | (lexical-let ((buffer (current-buffer))) |
| 1069 | (with-current-buffer vc-dir-process-buffer | 1069 | (with-current-buffer vc-dir-process-buffer |
| 1070 | (cd def-dir) | 1070 | (setq default-directory def-dir) |
| 1071 | (erase-buffer) | 1071 | (erase-buffer) |
| 1072 | (vc-call-backend | 1072 | (vc-call-backend |
| 1073 | backend 'dir-status def-dir | 1073 | backend 'dir-status def-dir |
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index 4ac7ef15fc7..0516abbf024 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el | |||
| @@ -529,9 +529,9 @@ REV is the revision to check out into WORKFILE." | |||
| 529 | (insert (propertize | 529 | (insert (propertize |
| 530 | (format " (%s %s)" | 530 | (format " (%s %s)" |
| 531 | (case (vc-hg-extra-fileinfo->rename-state extra) | 531 | (case (vc-hg-extra-fileinfo->rename-state extra) |
| 532 | ('copied "copied from") | 532 | (copied "copied from") |
| 533 | ('renamed-from "renamed from") | 533 | (renamed-from "renamed from") |
| 534 | ('renamed-to "renamed to")) | 534 | (renamed-to "renamed to")) |
| 535 | (vc-hg-extra-fileinfo->extra-name extra)) | 535 | (vc-hg-extra-fileinfo->extra-name extra)) |
| 536 | 'face 'font-lock-comment-face))))) | 536 | 'face 'font-lock-comment-face))))) |
| 537 | 537 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 2b7d5289e67..7243eb23527 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -26,8 +26,6 @@ | |||
| 26 | 26 | ||
| 27 | * deps.mk (unexalpha.o): Remove; unused. | 27 | * deps.mk (unexalpha.o): Remove; unused. |
| 28 | 28 | ||
| 29 | 2011-03-16 Paul Eggert <eggert@cs.ucla.edu> | ||
| 30 | |||
| 31 | New file unexec.h, the (simple) interface for unexec (Bug#8267). | 29 | New file unexec.h, the (simple) interface for unexec (Bug#8267). |
| 32 | * unexec.h: New file. | 30 | * unexec.h: New file. |
| 33 | * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o): | 31 | * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o): |
| @@ -98,8 +96,6 @@ | |||
| 98 | Rename or remove local vars to avoid shadowing. | 96 | Rename or remove local vars to avoid shadowing. |
| 99 | (Ftranslate_region_internal): Mark var as initialized. | 97 | (Ftranslate_region_internal): Mark var as initialized. |
| 100 | 98 | ||
| 101 | 2011-03-15 Paul Eggert <eggert@cs.ucla.edu> | ||
| 102 | |||
| 103 | * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to | 99 | * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to |
| 104 | avoid shadowing. | 100 | avoid shadowing. |
| 105 | 101 | ||
| @@ -249,10 +245,7 @@ | |||
| 249 | (fix_start_end_in_overlays): Likewise. This function should be | 245 | (fix_start_end_in_overlays): Likewise. This function should be |
| 250 | simplified by using pointers-to-pointers, but that's a different | 246 | simplified by using pointers-to-pointers, but that's a different |
| 251 | matter. | 247 | matter. |
| 252 | 248 | (switch_to_buffer_1): Now static. | |
| 253 | 2011-03-14 Paul Eggert <eggert@cs.ucla.edu> | ||
| 254 | |||
| 255 | * buffer.c (switch_to_buffer_1): Now static. | ||
| 256 | (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte): | 249 | (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte): |
| 257 | (report_overlay_modification): Rename locals to avoid shadowing. | 250 | (report_overlay_modification): Rename locals to avoid shadowing. |
| 258 | 251 | ||
| @@ -317,6 +310,51 @@ | |||
| 317 | if GCC considers string literals to be constants. | 310 | if GCC considers string literals to be constants. |
| 318 | (Fdbus_register_service, Fdbus_register_method): Remove unused vars. | 311 | (Fdbus_register_service, Fdbus_register_method): Remove unused vars. |
| 319 | 312 | ||
| 313 | 2011-03-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 314 | |||
| 315 | * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro. | ||
| 316 | (print_preprocess, print_object): New macro to fix last change. | ||
| 317 | |||
| 318 | * print.c (print_preprocess): Don't forget font objects. | ||
| 319 | |||
| 320 | 2011-03-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 321 | |||
| 322 | * emacs.c (USAGE3): Doc fixes. | ||
| 323 | |||
| 324 | 2011-03-15 Andreas Schwab <schwab@linux-m68k.org> | ||
| 325 | |||
| 326 | * coding.c (detect_coding_iso_2022): Reorganize code to clarify | ||
| 327 | structure. | ||
| 328 | |||
| 329 | 2011-03-14 Juanma Barranquero <lekktu@gmail.com> | ||
| 330 | |||
| 331 | * lisp.h (VWindow_system, Qfile_name_history): | ||
| 332 | * keyboard.h (lispy_function_keys) [WINDOWSNT]: | ||
| 333 | * w32term.h (w32_system_caret_hwnd, w32_system_caret_height) | ||
| 334 | (w32_system_caret_x, w32_system_caret_y): Declare extern. | ||
| 335 | |||
| 336 | * w32select.c: Don't #include "keyboard.h". | ||
| 337 | (run_protected): Add extern declaration for waiting_for_input. | ||
| 338 | |||
| 339 | * w32.c (Qlocal, noninteractive1, inhibit_window_system): | ||
| 340 | * w32console.c (detect_input_pending, read_input_pending) | ||
| 341 | (encode_terminal_code): | ||
| 342 | * w32fns.c (quit_char, lispy_function_keys, Qtooltip) | ||
| 343 | (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x) | ||
| 344 | (w32_system_caret_y, Qfile_name_history): | ||
| 345 | * w32font.c (w32font_driver, QCantialias, QCotf, QClang): | ||
| 346 | * w32inevt.c (reinvoke_input_signal, lispy_function_keys): | ||
| 347 | * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map) | ||
| 348 | (Qoverriding_terminal_local_map, Qmenu_bar_update_hook): | ||
| 349 | * w32proc.c (Qlocal, report_file_error): | ||
| 350 | * w32term.c (Vwindow_system, updating_frame): | ||
| 351 | * w32uniscribe.c (initialized, uniscribe_font_driver): | ||
| 352 | Remove unneeded extern declarations. | ||
| 353 | |||
| 354 | 2011-03-14 Chong Yidong <cyd@stupidchicken.com> | ||
| 355 | |||
| 356 | * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions. | ||
| 357 | |||
| 320 | 2011-03-13 Chong Yidong <cyd@stupidchicken.com> | 358 | 2011-03-13 Chong Yidong <cyd@stupidchicken.com> |
| 321 | 359 | ||
| 322 | * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT) | 360 | * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT) |
| @@ -420,7 +458,7 @@ | |||
| 420 | 458 | ||
| 421 | 2011-03-12 Eli Zaretskii <eliz@gnu.org> | 459 | 2011-03-12 Eli Zaretskii <eliz@gnu.org> |
| 422 | 460 | ||
| 423 | * termcap.c [MSDOS]: Include "msdos.h. | 461 | * termcap.c [MSDOS]: Include "msdos.h". |
| 424 | (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent): | 462 | (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent): |
| 425 | Constify `char *' arguments and their references according to | 463 | Constify `char *' arguments and their references according to |
| 426 | prototypes in tparam.h. | 464 | prototypes in tparam.h. |
diff --git a/src/buffer.c b/src/buffer.c index b718bf3e576..c0e6866dee1 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -611,8 +611,8 @@ CLONE nil means the indirect buffer's state is reset to default values. */) | |||
| 611 | /* Make sure the base buffer has markers for its narrowing. */ | 611 | /* Make sure the base buffer has markers for its narrowing. */ |
| 612 | if (NILP (BVAR (b->base_buffer, pt_marker))) | 612 | if (NILP (BVAR (b->base_buffer, pt_marker))) |
| 613 | { | 613 | { |
| 614 | eassert (NILP (BVAR (b, begv_marker))); | 614 | eassert (NILP (BVAR (b->base_buffer, begv_marker))); |
| 615 | eassert (NILP (BVAR (b, zv_marker))); | 615 | eassert (NILP (BVAR (b->base_buffer, zv_marker))); |
| 616 | 616 | ||
| 617 | BVAR (b->base_buffer, pt_marker) = Fmake_marker (); | 617 | BVAR (b->base_buffer, pt_marker) = Fmake_marker (); |
| 618 | set_marker_both (BVAR (b->base_buffer, pt_marker), base_buffer, | 618 | set_marker_both (BVAR (b->base_buffer, pt_marker), base_buffer, |
diff --git a/src/coding.c b/src/coding.c index 9a6a4484e50..0c2836c19f6 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -2954,12 +2954,7 @@ detect_coding_iso_2022 (struct coding_system *coding, | |||
| 2954 | const unsigned char *src_end = coding->source + coding->src_bytes; | 2954 | const unsigned char *src_end = coding->source + coding->src_bytes; |
| 2955 | int multibytep = coding->src_multibyte; | 2955 | int multibytep = coding->src_multibyte; |
| 2956 | int single_shifting = 0; | 2956 | int single_shifting = 0; |
| 2957 | 2957 | int id; | |
| 2958 | /* FIXME: Does ID need to be initialized here? The "End of composition" | ||
| 2959 | code below does not initialize ID even though ID is used | ||
| 2960 | afterwards, and perhaps that is a bug. */ | ||
| 2961 | int id = 0; | ||
| 2962 | |||
| 2963 | int c, c1; | 2958 | int c, c1; |
| 2964 | int consumed_chars = 0; | 2959 | int consumed_chars = 0; |
| 2965 | int i; | 2960 | int i; |
| @@ -2999,40 +2994,11 @@ detect_coding_iso_2022 (struct coding_system *coding, | |||
| 2999 | break; | 2994 | break; |
| 3000 | single_shifting = 0; | 2995 | single_shifting = 0; |
| 3001 | ONE_MORE_BYTE (c); | 2996 | ONE_MORE_BYTE (c); |
| 3002 | if (c >= '(' && c <= '/') | 2997 | if (c == 'N' || c == 'O') |
| 3003 | { | ||
| 3004 | /* Designation sequence for a charset of dimension 1. */ | ||
| 3005 | ONE_MORE_BYTE (c1); | ||
| 3006 | if (c1 < ' ' || c1 >= 0x80 | ||
| 3007 | || (id = iso_charset_table[0][c >= ','][c1]) < 0) | ||
| 3008 | /* Invalid designation sequence. Just ignore. */ | ||
| 3009 | break; | ||
| 3010 | } | ||
| 3011 | else if (c == '$') | ||
| 3012 | { | ||
| 3013 | /* Designation sequence for a charset of dimension 2. */ | ||
| 3014 | ONE_MORE_BYTE (c); | ||
| 3015 | if (c >= '@' && c <= 'B') | ||
| 3016 | /* Designation for JISX0208.1978, GB2312, or JISX0208. */ | ||
| 3017 | id = iso_charset_table[1][0][c]; | ||
| 3018 | else if (c >= '(' && c <= '/') | ||
| 3019 | { | ||
| 3020 | ONE_MORE_BYTE (c1); | ||
| 3021 | if (c1 < ' ' || c1 >= 0x80 | ||
| 3022 | || (id = iso_charset_table[1][c >= ','][c1]) < 0) | ||
| 3023 | /* Invalid designation sequence. Just ignore. */ | ||
| 3024 | break; | ||
| 3025 | } | ||
| 3026 | else | ||
| 3027 | /* Invalid designation sequence. Just ignore it. */ | ||
| 3028 | break; | ||
| 3029 | } | ||
| 3030 | else if (c == 'N' || c == 'O') | ||
| 3031 | { | 2998 | { |
| 3032 | /* ESC <Fe> for SS2 or SS3. */ | 2999 | /* ESC <Fe> for SS2 or SS3. */ |
| 3033 | single_shifting = 1; | 3000 | single_shifting = 1; |
| 3034 | rejected |= CATEGORY_MASK_ISO_7BIT | CATEGORY_MASK_ISO_8BIT; | 3001 | rejected |= CATEGORY_MASK_ISO_7BIT | CATEGORY_MASK_ISO_8BIT; |
| 3035 | break; | ||
| 3036 | } | 3002 | } |
| 3037 | else if (c == '1') | 3003 | else if (c == '1') |
| 3038 | { | 3004 | { |
| @@ -3048,36 +3014,66 @@ detect_coding_iso_2022 (struct coding_system *coding, | |||
| 3048 | { | 3014 | { |
| 3049 | /* ESC <Fp> for start/end composition. */ | 3015 | /* ESC <Fp> for start/end composition. */ |
| 3050 | composition_count = 0; | 3016 | composition_count = 0; |
| 3051 | break; | ||
| 3052 | } | 3017 | } |
| 3053 | else | 3018 | else |
| 3054 | { | 3019 | { |
| 3055 | /* Invalid escape sequence. Just ignore it. */ | 3020 | if (c >= '(' && c <= '/') |
| 3056 | break; | 3021 | { |
| 3057 | } | 3022 | /* Designation sequence for a charset of dimension 1. */ |
| 3023 | ONE_MORE_BYTE (c1); | ||
| 3024 | if (c1 < ' ' || c1 >= 0x80 | ||
| 3025 | || (id = iso_charset_table[0][c >= ','][c1]) < 0) | ||
| 3026 | /* Invalid designation sequence. Just ignore. */ | ||
| 3027 | break; | ||
| 3028 | } | ||
| 3029 | else if (c == '$') | ||
| 3030 | { | ||
| 3031 | /* Designation sequence for a charset of dimension 2. */ | ||
| 3032 | ONE_MORE_BYTE (c); | ||
| 3033 | if (c >= '@' && c <= 'B') | ||
| 3034 | /* Designation for JISX0208.1978, GB2312, or JISX0208. */ | ||
| 3035 | id = iso_charset_table[1][0][c]; | ||
| 3036 | else if (c >= '(' && c <= '/') | ||
| 3037 | { | ||
| 3038 | ONE_MORE_BYTE (c1); | ||
| 3039 | if (c1 < ' ' || c1 >= 0x80 | ||
| 3040 | || (id = iso_charset_table[1][c >= ','][c1]) < 0) | ||
| 3041 | /* Invalid designation sequence. Just ignore. */ | ||
| 3042 | break; | ||
| 3043 | } | ||
| 3044 | else | ||
| 3045 | /* Invalid designation sequence. Just ignore it. */ | ||
| 3046 | break; | ||
| 3047 | } | ||
| 3048 | else | ||
| 3049 | { | ||
| 3050 | /* Invalid escape sequence. Just ignore it. */ | ||
| 3051 | break; | ||
| 3052 | } | ||
| 3058 | 3053 | ||
| 3059 | /* We found a valid designation sequence for CHARSET. */ | 3054 | /* We found a valid designation sequence for CHARSET. */ |
| 3060 | rejected |= CATEGORY_MASK_ISO_8BIT; | 3055 | rejected |= CATEGORY_MASK_ISO_8BIT; |
| 3061 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_7], | 3056 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_7], |
| 3062 | id)) | 3057 | id)) |
| 3063 | found |= CATEGORY_MASK_ISO_7; | 3058 | found |= CATEGORY_MASK_ISO_7; |
| 3064 | else | 3059 | else |
| 3065 | rejected |= CATEGORY_MASK_ISO_7; | 3060 | rejected |= CATEGORY_MASK_ISO_7; |
| 3066 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_7_tight], | 3061 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_7_tight], |
| 3067 | id)) | 3062 | id)) |
| 3068 | found |= CATEGORY_MASK_ISO_7_TIGHT; | 3063 | found |= CATEGORY_MASK_ISO_7_TIGHT; |
| 3069 | else | 3064 | else |
| 3070 | rejected |= CATEGORY_MASK_ISO_7_TIGHT; | 3065 | rejected |= CATEGORY_MASK_ISO_7_TIGHT; |
| 3071 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_7_else], | 3066 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_7_else], |
| 3072 | id)) | 3067 | id)) |
| 3073 | found |= CATEGORY_MASK_ISO_7_ELSE; | 3068 | found |= CATEGORY_MASK_ISO_7_ELSE; |
| 3074 | else | 3069 | else |
| 3075 | rejected |= CATEGORY_MASK_ISO_7_ELSE; | 3070 | rejected |= CATEGORY_MASK_ISO_7_ELSE; |
| 3076 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_8_else], | 3071 | if (SAFE_CHARSET_P (&coding_categories[coding_category_iso_8_else], |
| 3077 | id)) | 3072 | id)) |
| 3078 | found |= CATEGORY_MASK_ISO_8_ELSE; | 3073 | found |= CATEGORY_MASK_ISO_8_ELSE; |
| 3079 | else | 3074 | else |
| 3080 | rejected |= CATEGORY_MASK_ISO_8_ELSE; | 3075 | rejected |= CATEGORY_MASK_ISO_8_ELSE; |
| 3076 | } | ||
| 3081 | break; | 3077 | break; |
| 3082 | 3078 | ||
| 3083 | case ISO_CODE_SO: | 3079 | case ISO_CODE_SO: |
| @@ -3105,13 +3101,32 @@ detect_coding_iso_2022 (struct coding_system *coding, | |||
| 3105 | rejected |= CATEGORY_MASK_ISO_7BIT; | 3101 | rejected |= CATEGORY_MASK_ISO_7BIT; |
| 3106 | if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_1]) | 3102 | if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_1]) |
| 3107 | & CODING_ISO_FLAG_SINGLE_SHIFT) | 3103 | & CODING_ISO_FLAG_SINGLE_SHIFT) |
| 3108 | found |= CATEGORY_MASK_ISO_8_1, single_shifting = 1; | 3104 | { |
| 3105 | found |= CATEGORY_MASK_ISO_8_1; | ||
| 3106 | single_shifting = 1; | ||
| 3107 | } | ||
| 3109 | if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_2]) | 3108 | if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_2]) |
| 3110 | & CODING_ISO_FLAG_SINGLE_SHIFT) | 3109 | & CODING_ISO_FLAG_SINGLE_SHIFT) |
| 3111 | found |= CATEGORY_MASK_ISO_8_2, single_shifting = 1; | 3110 | { |
| 3111 | found |= CATEGORY_MASK_ISO_8_2; | ||
| 3112 | single_shifting = 1; | ||
| 3113 | } | ||
| 3112 | if (single_shifting) | 3114 | if (single_shifting) |
| 3113 | break; | 3115 | break; |
| 3114 | goto check_extra_latin; | 3116 | check_extra_latin: |
| 3117 | if (! VECTORP (Vlatin_extra_code_table) | ||
| 3118 | || NILP (XVECTOR (Vlatin_extra_code_table)->contents[c])) | ||
| 3119 | { | ||
| 3120 | rejected = CATEGORY_MASK_ISO; | ||
| 3121 | break; | ||
| 3122 | } | ||
| 3123 | if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_1]) | ||
| 3124 | & CODING_ISO_FLAG_LATIN_EXTRA) | ||
| 3125 | found |= CATEGORY_MASK_ISO_8_1; | ||
| 3126 | else | ||
| 3127 | rejected |= CATEGORY_MASK_ISO_8_1; | ||
| 3128 | rejected |= CATEGORY_MASK_ISO_8_2; | ||
| 3129 | break; | ||
| 3115 | 3130 | ||
| 3116 | default: | 3131 | default: |
| 3117 | if (c < 0) | 3132 | if (c < 0) |
| @@ -3162,20 +3177,6 @@ detect_coding_iso_2022 (struct coding_system *coding, | |||
| 3162 | } | 3177 | } |
| 3163 | break; | 3178 | break; |
| 3164 | } | 3179 | } |
| 3165 | check_extra_latin: | ||
| 3166 | single_shifting = 0; | ||
| 3167 | if (! VECTORP (Vlatin_extra_code_table) | ||
| 3168 | || NILP (XVECTOR (Vlatin_extra_code_table)->contents[c])) | ||
| 3169 | { | ||
| 3170 | rejected = CATEGORY_MASK_ISO; | ||
| 3171 | break; | ||
| 3172 | } | ||
| 3173 | if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_1]) | ||
| 3174 | & CODING_ISO_FLAG_LATIN_EXTRA) | ||
| 3175 | found |= CATEGORY_MASK_ISO_8_1; | ||
| 3176 | else | ||
| 3177 | rejected |= CATEGORY_MASK_ISO_8_1; | ||
| 3178 | rejected |= CATEGORY_MASK_ISO_8_2; | ||
| 3179 | } | 3180 | } |
| 3180 | } | 3181 | } |
| 3181 | detect_info->rejected |= CATEGORY_MASK_ISO; | 3182 | detect_info->rejected |= CATEGORY_MASK_ISO; |
diff --git a/src/emacs.c b/src/emacs.c index d30d42f1ee4..052f22ea622 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -141,7 +141,7 @@ Lisp_Object Qfile_name_handler_alist; | |||
| 141 | 141 | ||
| 142 | Lisp_Object Qrisky_local_variable; | 142 | Lisp_Object Qrisky_local_variable; |
| 143 | 143 | ||
| 144 | /* If non-zero, emacs should not attempt to use a window-specific code, | 144 | /* If non-zero, Emacs should not attempt to use a window-specific code, |
| 145 | but instead should use the virtual terminal under which it was started. */ | 145 | but instead should use the virtual terminal under which it was started. */ |
| 146 | int inhibit_window_system; | 146 | int inhibit_window_system; |
| 147 | 147 | ||
| @@ -169,7 +169,6 @@ static unsigned long heap_bss_diff; | |||
| 169 | #define MAX_HEAP_BSS_DIFF (1024*1024) | 169 | #define MAX_HEAP_BSS_DIFF (1024*1024) |
| 170 | 170 | ||
| 171 | /* Nonzero means running Emacs without interactive terminal. */ | 171 | /* Nonzero means running Emacs without interactive terminal. */ |
| 172 | |||
| 173 | int noninteractive; | 172 | int noninteractive; |
| 174 | 173 | ||
| 175 | /* Nonzero means remove site-lisp directories from load-path. */ | 174 | /* Nonzero means remove site-lisp directories from load-path. */ |
| @@ -249,14 +248,14 @@ Display options:\n\ | |||
| 249 | --border-color, -bd COLOR main border color\n\ | 248 | --border-color, -bd COLOR main border color\n\ |
| 250 | --border-width, -bw WIDTH width of main border\n\ | 249 | --border-width, -bw WIDTH width of main border\n\ |
| 251 | --color, --color=MODE override color mode for character terminals;\n\ | 250 | --color, --color=MODE override color mode for character terminals;\n\ |
| 252 | MODE defaults to `auto', and can also\n\ | 251 | MODE defaults to `auto', and\n\ |
| 253 | be `never', `auto', `always',\n\ | 252 | can also be `never', `always',\n\ |
| 254 | or a mode name like `ansi8'\n\ | 253 | or a mode name like `ansi8'\n\ |
| 255 | --cursor-color, -cr COLOR color of the Emacs cursor indicating point\n\ | 254 | --cursor-color, -cr COLOR color of the Emacs cursor indicating point\n\ |
| 256 | --font, -fn FONT default font; must be fixed-width\n\ | 255 | --font, -fn FONT default font; must be fixed-width\n\ |
| 257 | --foreground-color, -fg COLOR window foreground color\n\ | 256 | --foreground-color, -fg COLOR window foreground color\n\ |
| 258 | --fullheight, -fh make the first frame high as the screen\n\ | 257 | --fullheight, -fh make the first frame high as the screen\n\ |
| 259 | --fullscreen, -fs make first frame fullscreen\n\ | 258 | --fullscreen, -fs make the first frame fullscreen\n\ |
| 260 | --fullwidth, -fw make the first frame wide as the screen\n\ | 259 | --fullwidth, -fw make the first frame wide as the screen\n\ |
| 261 | --maximized, -mm make the first frame maximized\n\ | 260 | --maximized, -mm make the first frame maximized\n\ |
| 262 | --geometry, -g GEOMETRY window geometry\n\ | 261 | --geometry, -g GEOMETRY window geometry\n\ |
| @@ -577,7 +576,8 @@ DEFINE_DUMMY_FUNCTION (__main) | |||
| 577 | enough information to do it right. */ | 576 | enough information to do it right. */ |
| 578 | 577 | ||
| 579 | static int | 578 | static int |
| 580 | argmatch (char **argv, int argc, const char *sstr, const char *lstr, int minlen, char **valptr, int *skipptr) | 579 | argmatch (char **argv, int argc, const char *sstr, const char *lstr, |
| 580 | int minlen, char **valptr, int *skipptr) | ||
| 581 | { | 581 | { |
| 582 | char *p = NULL; | 582 | char *p = NULL; |
| 583 | int arglen; | 583 | int arglen; |
diff --git a/src/keyboard.h b/src/keyboard.h index 765979b3997..00745a09140 100644 --- a/src/keyboard.h +++ b/src/keyboard.h | |||
| @@ -519,3 +519,7 @@ extern int tty_read_avail_input (struct terminal *, int, | |||
| 519 | struct input_event *); | 519 | struct input_event *); |
| 520 | extern EMACS_TIME timer_check (int); | 520 | extern EMACS_TIME timer_check (int); |
| 521 | extern void mark_kboards (void); | 521 | extern void mark_kboards (void); |
| 522 | |||
| 523 | #ifdef WINDOWSNT | ||
| 524 | extern const char *const lispy_function_keys[]; | ||
| 525 | #endif | ||
diff --git a/src/lisp.h b/src/lisp.h index 04d75d55dc6..283b0989c1d 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2581,6 +2581,7 @@ extern void syms_of_insdel (void); | |||
| 2581 | 2581 | ||
| 2582 | /* Defined in dispnew.c */ | 2582 | /* Defined in dispnew.c */ |
| 2583 | extern Lisp_Object selected_frame; | 2583 | extern Lisp_Object selected_frame; |
| 2584 | extern Lisp_Object Vwindow_system; | ||
| 2584 | EXFUN (Fding, 1); | 2585 | EXFUN (Fding, 1); |
| 2585 | EXFUN (Fredraw_frame, 1); | 2586 | EXFUN (Fredraw_frame, 1); |
| 2586 | EXFUN (Fsleep_for, 2); | 2587 | EXFUN (Fsleep_for, 2); |
| @@ -2990,6 +2991,7 @@ extern Lisp_Object Qfile_error; | |||
| 2990 | extern Lisp_Object Qfile_exists_p; | 2991 | extern Lisp_Object Qfile_exists_p; |
| 2991 | extern Lisp_Object Qfile_directory_p; | 2992 | extern Lisp_Object Qfile_directory_p; |
| 2992 | extern Lisp_Object Qinsert_file_contents; | 2993 | extern Lisp_Object Qinsert_file_contents; |
| 2994 | extern Lisp_Object Qfile_name_history; | ||
| 2993 | EXFUN (Ffind_file_name_handler, 2); | 2995 | EXFUN (Ffind_file_name_handler, 2); |
| 2994 | EXFUN (Ffile_name_as_directory, 1); | 2996 | EXFUN (Ffile_name_as_directory, 1); |
| 2995 | EXFUN (Fexpand_file_name, 2); | 2997 | EXFUN (Fexpand_file_name, 2); |
diff --git a/src/print.c b/src/print.c index b2e5965cd1c..5b2778cf251 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -1173,6 +1173,16 @@ print (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag) | |||
| 1173 | print_object (obj, printcharfun, escapeflag); | 1173 | print_object (obj, printcharfun, escapeflag); |
| 1174 | } | 1174 | } |
| 1175 | 1175 | ||
| 1176 | #define PRINT_CIRCLE_CANDIDATE_P(obj) \ | ||
| 1177 | (STRINGP (obj) || CONSP (obj) \ | ||
| 1178 | || (VECTORLIKEP (obj) \ | ||
| 1179 | && (VECTORP (obj) || COMPILEDP (obj) \ | ||
| 1180 | || CHAR_TABLE_P (obj) || SUB_CHAR_TABLE_P (obj) \ | ||
| 1181 | || HASH_TABLE_P (obj) || FONTP (obj))) \ | ||
| 1182 | || (! NILP (Vprint_gensym) \ | ||
| 1183 | && SYMBOLP (obj) \ | ||
| 1184 | && !SYMBOL_INTERNED_P (obj))) | ||
| 1185 | |||
| 1176 | /* Construct Vprint_number_table according to the structure of OBJ. | 1186 | /* Construct Vprint_number_table according to the structure of OBJ. |
| 1177 | OBJ itself and all its elements will be added to Vprint_number_table | 1187 | OBJ itself and all its elements will be added to Vprint_number_table |
| 1178 | recursively if it is a list, vector, compiled function, char-table, | 1188 | recursively if it is a list, vector, compiled function, char-table, |
| @@ -1207,12 +1217,7 @@ print_preprocess (Lisp_Object obj) | |||
| 1207 | halftail = obj; | 1217 | halftail = obj; |
| 1208 | 1218 | ||
| 1209 | loop: | 1219 | loop: |
| 1210 | if (STRINGP (obj) || CONSP (obj) || VECTORP (obj) | 1220 | if (PRINT_CIRCLE_CANDIDATE_P (obj)) |
| 1211 | || COMPILEDP (obj) || CHAR_TABLE_P (obj) || SUB_CHAR_TABLE_P (obj) | ||
| 1212 | || HASH_TABLE_P (obj) | ||
| 1213 | || (! NILP (Vprint_gensym) | ||
| 1214 | && SYMBOLP (obj) | ||
| 1215 | && !SYMBOL_INTERNED_P (obj))) | ||
| 1216 | { | 1221 | { |
| 1217 | if (!HASH_TABLE_P (Vprint_number_table)) | 1222 | if (!HASH_TABLE_P (Vprint_number_table)) |
| 1218 | { | 1223 | { |
| @@ -1389,12 +1394,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag | |||
| 1389 | error ("Apparently circular structure being printed"); | 1394 | error ("Apparently circular structure being printed"); |
| 1390 | 1395 | ||
| 1391 | /* Detect circularities and truncate them. */ | 1396 | /* Detect circularities and truncate them. */ |
| 1392 | if (STRINGP (obj) || CONSP (obj) || VECTORP (obj) | 1397 | if (PRINT_CIRCLE_CANDIDATE_P (obj)) |
| 1393 | || COMPILEDP (obj) || CHAR_TABLE_P (obj) || SUB_CHAR_TABLE_P (obj) | ||
| 1394 | || HASH_TABLE_P (obj) | ||
| 1395 | || (! NILP (Vprint_gensym) | ||
| 1396 | && SYMBOLP (obj) | ||
| 1397 | && !SYMBOL_INTERNED_P (obj))) | ||
| 1398 | { | 1398 | { |
| 1399 | if (NILP (Vprint_circle) && NILP (Vprint_gensym)) | 1399 | if (NILP (Vprint_circle) && NILP (Vprint_gensym)) |
| 1400 | { | 1400 | { |
| @@ -147,9 +147,6 @@ typedef HRESULT (WINAPI * ShGetFolderPath_fn) | |||
| 147 | void globals_of_w32 (void); | 147 | void globals_of_w32 (void); |
| 148 | static DWORD get_rid (PSID); | 148 | static DWORD get_rid (PSID); |
| 149 | 149 | ||
| 150 | /* Defined in process.c for its own purpose. */ | ||
| 151 | extern Lisp_Object Qlocal; | ||
| 152 | |||
| 153 | 150 | ||
| 154 | /* Initialization states. | 151 | /* Initialization states. |
| 155 | 152 | ||
| @@ -5666,8 +5663,6 @@ sys_write (int fd, const void * buffer, unsigned int count) | |||
| 5666 | static void | 5663 | static void |
| 5667 | check_windows_init_file (void) | 5664 | check_windows_init_file (void) |
| 5668 | { | 5665 | { |
| 5669 | extern int noninteractive, inhibit_window_system; | ||
| 5670 | |||
| 5671 | /* A common indication that Emacs is not installed properly is when | 5666 | /* A common indication that Emacs is not installed properly is when |
| 5672 | it cannot find the Windows installation file. If this file does | 5667 | it cannot find the Windows installation file. If this file does |
| 5673 | not exist in the expected place, tell the user. */ | 5668 | not exist in the expected place, tell the user. */ |
diff --git a/src/w32console.c b/src/w32console.c index 31c4a7c4e5a..3c200405cb5 100644 --- a/src/w32console.c +++ b/src/w32console.c | |||
| @@ -41,12 +41,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 41 | /* from window.c */ | 41 | /* from window.c */ |
| 42 | extern Lisp_Object Frecenter (Lisp_Object); | 42 | extern Lisp_Object Frecenter (Lisp_Object); |
| 43 | 43 | ||
| 44 | /* from keyboard.c */ | ||
| 45 | extern int detect_input_pending (void); | ||
| 46 | |||
| 47 | /* from sysdep.c */ | ||
| 48 | extern int read_input_pending (void); | ||
| 49 | |||
| 50 | static void w32con_move_cursor (struct frame *f, int row, int col); | 44 | static void w32con_move_cursor (struct frame *f, int row, int col); |
| 51 | static void w32con_clear_to_end (struct frame *f); | 45 | static void w32con_clear_to_end (struct frame *f); |
| 52 | static void w32con_clear_frame (struct frame *f); | 46 | static void w32con_clear_frame (struct frame *f); |
| @@ -277,9 +271,6 @@ w32con_insert_glyphs (struct frame *f, register struct glyph *start, | |||
| 277 | } | 271 | } |
| 278 | } | 272 | } |
| 279 | 273 | ||
| 280 | extern unsigned char *encode_terminal_code (struct glyph *, int, | ||
| 281 | struct coding_system *); | ||
| 282 | |||
| 283 | static void | 274 | static void |
| 284 | w32con_write_glyphs (struct frame *f, register struct glyph *string, | 275 | w32con_write_glyphs (struct frame *f, register struct glyph *string, |
| 285 | register int len) | 276 | register int len) |
diff --git a/src/w32fns.c b/src/w32fns.c index 09442d41e14..0c899cdceff 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -80,10 +80,6 @@ extern void w32_menu_display_help (HWND, HMENU, UINT, UINT); | |||
| 80 | extern void w32_free_menu_strings (HWND); | 80 | extern void w32_free_menu_strings (HWND); |
| 81 | extern const char *map_w32_filename (const char *, const char **); | 81 | extern const char *map_w32_filename (const char *, const char **); |
| 82 | 82 | ||
| 83 | extern int quit_char; | ||
| 84 | |||
| 85 | extern const char *const lispy_function_keys[]; | ||
| 86 | |||
| 87 | /* If non-zero, a w32 timer that, when it expires, displays an | 83 | /* If non-zero, a w32 timer that, when it expires, displays an |
| 88 | hourglass cursor on all frames. */ | 84 | hourglass cursor on all frames. */ |
| 89 | static unsigned hourglass_timer = 0; | 85 | static unsigned hourglass_timer = 0; |
| @@ -187,18 +183,10 @@ unsigned int msh_mousewheel = 0; | |||
| 187 | #define MENU_FREE_DELAY 1000 | 183 | #define MENU_FREE_DELAY 1000 |
| 188 | static unsigned menu_free_timer = 0; | 184 | static unsigned menu_free_timer = 0; |
| 189 | 185 | ||
| 190 | extern Lisp_Object Qtooltip; | ||
| 191 | |||
| 192 | #ifdef GLYPH_DEBUG | 186 | #ifdef GLYPH_DEBUG |
| 193 | int image_cache_refcount, dpyinfo_refcount; | 187 | int image_cache_refcount, dpyinfo_refcount; |
| 194 | #endif | 188 | #endif |
| 195 | 189 | ||
| 196 | |||
| 197 | extern HWND w32_system_caret_hwnd; | ||
| 198 | |||
| 199 | extern int w32_system_caret_height; | ||
| 200 | extern int w32_system_caret_x; | ||
| 201 | extern int w32_system_caret_y; | ||
| 202 | static HWND w32_visible_system_caret_hwnd; | 190 | static HWND w32_visible_system_caret_hwnd; |
| 203 | 191 | ||
| 204 | /* From w32menu.c */ | 192 | /* From w32menu.c */ |
| @@ -5851,7 +5839,6 @@ Value is t if tooltip was open, nil otherwise. */) | |||
| 5851 | /*********************************************************************** | 5839 | /*********************************************************************** |
| 5852 | File selection dialog | 5840 | File selection dialog |
| 5853 | ***********************************************************************/ | 5841 | ***********************************************************************/ |
| 5854 | extern Lisp_Object Qfile_name_history; | ||
| 5855 | 5842 | ||
| 5856 | /* Callback for altering the behavior of the Open File dialog. | 5843 | /* Callback for altering the behavior of the Open File dialog. |
| 5857 | Makes the Filename text field contain "Current Directory" and be | 5844 | Makes the Filename text field contain "Current Directory" and be |
| @@ -5899,7 +5886,7 @@ file_dialog_callback (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||
| 5899 | no man's land and the user will be unable to tab through the | 5886 | no man's land and the user will be unable to tab through the |
| 5900 | dialog box (pressing tab will only result in a beep). | 5887 | dialog box (pressing tab will only result in a beep). |
| 5901 | Avoid that problem by setting focus to the list here. */ | 5888 | Avoid that problem by setting focus to the list here. */ |
| 5902 | if (CDN_INITDONE == notify->hdr.code) | 5889 | if (notify->hdr.code == CDN_INITDONE) |
| 5903 | SetFocus (list); | 5890 | SetFocus (list); |
| 5904 | } | 5891 | } |
| 5905 | else | 5892 | else |
diff --git a/src/w32font.c b/src/w32font.c index aef62f61a3a..40ff0782b88 100644 --- a/src/w32font.c +++ b/src/w32font.c | |||
| @@ -54,8 +54,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 54 | #define JOHAB_CHARSET 130 | 54 | #define JOHAB_CHARSET 130 |
| 55 | #endif | 55 | #endif |
| 56 | 56 | ||
| 57 | extern struct font_driver w32font_driver; | ||
| 58 | |||
| 59 | Lisp_Object Qgdi; | 57 | Lisp_Object Qgdi; |
| 60 | Lisp_Object Quniscribe; | 58 | Lisp_Object Quniscribe; |
| 61 | static Lisp_Object QCformat; | 59 | static Lisp_Object QCformat; |
| @@ -64,7 +62,6 @@ static Lisp_Object Qserif, Qscript, Qdecorative; | |||
| 64 | static Lisp_Object Qraster, Qoutline, Qunknown; | 62 | static Lisp_Object Qraster, Qoutline, Qunknown; |
| 65 | 63 | ||
| 66 | /* antialiasing */ | 64 | /* antialiasing */ |
| 67 | extern Lisp_Object QCantialias, QCotf, QClang; /* defined in font.c */ | ||
| 68 | extern Lisp_Object Qnone; /* reuse from w32fns.c */ | 65 | extern Lisp_Object Qnone; /* reuse from w32fns.c */ |
| 69 | static Lisp_Object Qstandard, Qsubpixel, Qnatural; | 66 | static Lisp_Object Qstandard, Qsubpixel, Qnatural; |
| 70 | 67 | ||
diff --git a/src/w32inevt.c b/src/w32inevt.c index d0b097100fd..c4858dea908 100644 --- a/src/w32inevt.c +++ b/src/w32inevt.c | |||
| @@ -40,18 +40,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 40 | #include "w32heap.h" | 40 | #include "w32heap.h" |
| 41 | #include "w32term.h" | 41 | #include "w32term.h" |
| 42 | 42 | ||
| 43 | /* stdin, from ntterm */ | 43 | /* stdin, from w32console.c */ |
| 44 | extern HANDLE keyboard_handle; | 44 | extern HANDLE keyboard_handle; |
| 45 | 45 | ||
| 46 | /* Info for last mouse motion */ | 46 | /* Info for last mouse motion */ |
| 47 | static COORD movement_pos; | 47 | static COORD movement_pos; |
| 48 | static DWORD movement_time; | 48 | static DWORD movement_time; |
| 49 | 49 | ||
| 50 | /* from keyboard.c */ | 50 | /* from w32fns.c */ |
| 51 | extern void reinvoke_input_signal (void); | ||
| 52 | |||
| 53 | extern unsigned int map_keypad_keys (unsigned int, unsigned int); | 51 | extern unsigned int map_keypad_keys (unsigned int, unsigned int); |
| 54 | |||
| 55 | extern unsigned int w32_key_to_modifier (int key); | 52 | extern unsigned int w32_key_to_modifier (int key); |
| 56 | 53 | ||
| 57 | /* Event queue */ | 54 | /* Event queue */ |
| @@ -261,8 +258,6 @@ w32_kbd_patch_key (KEY_EVENT_RECORD *event) | |||
| 261 | } | 258 | } |
| 262 | 259 | ||
| 263 | 260 | ||
| 264 | extern const char *const lispy_function_keys[]; | ||
| 265 | |||
| 266 | static int faked_key = 0; | 261 | static int faked_key = 0; |
| 267 | 262 | ||
| 268 | /* return code -1 means that event_queue_ptr won't be incremented. | 263 | /* return code -1 means that event_queue_ptr won't be incremented. |
diff --git a/src/w32menu.c b/src/w32menu.c index 92447eb9fae..a2e62f24f6a 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -84,14 +84,6 @@ MessageBoxW_Proc unicode_message_box = NULL; | |||
| 84 | 84 | ||
| 85 | Lisp_Object Qdebug_on_next_call; | 85 | Lisp_Object Qdebug_on_next_call; |
| 86 | 86 | ||
| 87 | extern Lisp_Object Qmenu_bar; | ||
| 88 | |||
| 89 | extern Lisp_Object QCtoggle, QCradio; | ||
| 90 | |||
| 91 | extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map; | ||
| 92 | |||
| 93 | extern Lisp_Object Qmenu_bar_update_hook; | ||
| 94 | |||
| 95 | void set_frame_menubar (FRAME_PTR, int, int); | 87 | void set_frame_menubar (FRAME_PTR, int, int); |
| 96 | 88 | ||
| 97 | #ifdef HAVE_DIALOGS | 89 | #ifdef HAVE_DIALOGS |
diff --git a/src/w32proc.c b/src/w32proc.c index bb8b428ffe4..e94d9aa3254 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -67,8 +67,6 @@ extern BOOL WINAPI IsValidLocale (LCID, DWORD); | |||
| 67 | + ((DWORD)(var) - (section)->VirtualAddress) \ | 67 | + ((DWORD)(var) - (section)->VirtualAddress) \ |
| 68 | + (filedata).file_base)) | 68 | + (filedata).file_base)) |
| 69 | 69 | ||
| 70 | extern Lisp_Object Qlocal; | ||
| 71 | |||
| 72 | Lisp_Object Qhigh, Qlow; | 70 | Lisp_Object Qhigh, Qlow; |
| 73 | 71 | ||
| 74 | #ifdef EMACSDEBUG | 72 | #ifdef EMACSDEBUG |
| @@ -1053,7 +1051,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp) | |||
| 1053 | detect that we were woken up by C-g, we return -1 with errno set to | 1051 | detect that we were woken up by C-g, we return -1 with errno set to |
| 1054 | EINTR as on Unix. */ | 1052 | EINTR as on Unix. */ |
| 1055 | 1053 | ||
| 1056 | /* From ntterm.c */ | 1054 | /* From w32console.c */ |
| 1057 | extern HANDLE keyboard_handle; | 1055 | extern HANDLE keyboard_handle; |
| 1058 | 1056 | ||
| 1059 | /* From w32xfns.c */ | 1057 | /* From w32xfns.c */ |
| @@ -1559,8 +1557,6 @@ sys_kill (int pid, int sig) | |||
| 1559 | return rc; | 1557 | return rc; |
| 1560 | } | 1558 | } |
| 1561 | 1559 | ||
| 1562 | /* extern int report_file_error (char *, Lisp_Object); */ | ||
| 1563 | |||
| 1564 | /* The following two routines are used to manipulate stdin, stdout, and | 1560 | /* The following two routines are used to manipulate stdin, stdout, and |
| 1565 | stderr of our child processes. | 1561 | stderr of our child processes. |
| 1566 | 1562 | ||
| @@ -1660,7 +1656,7 @@ set_process_dir (char * dir) | |||
| 1660 | dial-up users to only be connected when they actually need to use | 1656 | dial-up users to only be connected when they actually need to use |
| 1661 | socket services. */ | 1657 | socket services. */ |
| 1662 | 1658 | ||
| 1663 | /* From nt.c */ | 1659 | /* From w32.c */ |
| 1664 | extern HANDLE winsock_lib; | 1660 | extern HANDLE winsock_lib; |
| 1665 | extern BOOL term_winsock (void); | 1661 | extern BOOL term_winsock (void); |
| 1666 | extern BOOL init_winsock (int load_now); | 1662 | extern BOOL init_winsock (int load_now); |
diff --git a/src/w32select.c b/src/w32select.c index 23d5fb68c77..ef0cb3adc24 100644 --- a/src/w32select.c +++ b/src/w32select.c | |||
| @@ -78,7 +78,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 78 | #include "w32term.h" /* for all of the w32 includes */ | 78 | #include "w32term.h" /* for all of the w32 includes */ |
| 79 | #include "w32heap.h" /* os_subtype */ | 79 | #include "w32heap.h" /* os_subtype */ |
| 80 | #include "blockinput.h" | 80 | #include "blockinput.h" |
| 81 | #include "keyboard.h" /* cmd_error_internal() */ | ||
| 82 | #include "charset.h" | 81 | #include "charset.h" |
| 83 | #include "coding.h" | 82 | #include "coding.h" |
| 84 | #include "character.h" | 83 | #include "character.h" |
| @@ -391,6 +390,7 @@ run_protected (Lisp_Object (*code) (Lisp_Object), Lisp_Object arg) | |||
| 391 | with global variables and calling strange looking functions. Is | 390 | with global variables and calling strange looking functions. Is |
| 392 | this really the right way to run Lisp callbacks? */ | 391 | this really the right way to run Lisp callbacks? */ |
| 393 | 392 | ||
| 393 | extern int waiting_for_input; /* from keyboard.c */ | ||
| 394 | int owfi; | 394 | int owfi; |
| 395 | 395 | ||
| 396 | BLOCK_INPUT; | 396 | BLOCK_INPUT; |
diff --git a/src/w32term.c b/src/w32term.c index 67e853f21f0..f31c4e90e77 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -88,8 +88,6 @@ extern void free_frame_menubar (struct frame *); | |||
| 88 | extern int w32_codepage_for_font (char *fontname); | 88 | extern int w32_codepage_for_font (char *fontname); |
| 89 | extern Cursor w32_load_cursor (LPCTSTR name); | 89 | extern Cursor w32_load_cursor (LPCTSTR name); |
| 90 | 90 | ||
| 91 | extern Lisp_Object Vwindow_system; | ||
| 92 | |||
| 93 | #define x_any_window_to_frame x_window_to_frame | 91 | #define x_any_window_to_frame x_window_to_frame |
| 94 | #define x_top_window_to_frame x_window_to_frame | 92 | #define x_top_window_to_frame x_window_to_frame |
| 95 | 93 | ||
| @@ -138,13 +136,6 @@ BOOL (WINAPI *pfnSetLayeredWindowAttributes) (HWND, COLORREF, BYTE, DWORD); | |||
| 138 | #define WS_EX_LAYERED 0x80000 | 136 | #define WS_EX_LAYERED 0x80000 |
| 139 | #endif | 137 | #endif |
| 140 | 138 | ||
| 141 | /* Frame being updated by update_frame. This is declared in term.c. | ||
| 142 | This is set by update_begin and looked at by all the | ||
| 143 | w32 functions. It is zero while not inside an update. | ||
| 144 | In that case, the w32 functions assume that `SELECTED_FRAME ()' | ||
| 145 | is the frame to apply to. */ | ||
| 146 | extern struct frame *updating_frame; | ||
| 147 | |||
| 148 | /* This is a frame waiting to be autoraised, within w32_read_socket. */ | 139 | /* This is a frame waiting to be autoraised, within w32_read_socket. */ |
| 149 | struct frame *pending_autoraise_frame; | 140 | struct frame *pending_autoraise_frame; |
| 150 | 141 | ||
| @@ -2536,8 +2527,7 @@ x_delete_glyphs (struct frame *f, register int n) | |||
| 2536 | } | 2527 | } |
| 2537 | 2528 | ||
| 2538 | 2529 | ||
| 2539 | /* Clear entire frame. If updating_frame is non-null, clear that | 2530 | /* Clear entire frame. */ |
| 2540 | frame. Otherwise clear the selected frame. */ | ||
| 2541 | 2531 | ||
| 2542 | static void | 2532 | static void |
| 2543 | x_clear_frame (struct frame *f) | 2533 | x_clear_frame (struct frame *f) |
| @@ -6060,7 +6050,7 @@ w32_create_terminal (struct w32_display_info *dpyinfo) | |||
| 6060 | terminal->mouse_position_hook = w32_mouse_position; | 6050 | terminal->mouse_position_hook = w32_mouse_position; |
| 6061 | terminal->frame_rehighlight_hook = w32_frame_rehighlight; | 6051 | terminal->frame_rehighlight_hook = w32_frame_rehighlight; |
| 6062 | terminal->frame_raise_lower_hook = w32_frame_raise_lower; | 6052 | terminal->frame_raise_lower_hook = w32_frame_raise_lower; |
| 6063 | // terminal->fullscreen_hook = XTfullscreen_hook; | 6053 | /* terminal->fullscreen_hook = XTfullscreen_hook; */ |
| 6064 | terminal->set_vertical_scroll_bar_hook = w32_set_vertical_scroll_bar; | 6054 | terminal->set_vertical_scroll_bar_hook = w32_set_vertical_scroll_bar; |
| 6065 | terminal->condemn_scroll_bars_hook = w32_condemn_scroll_bars; | 6055 | terminal->condemn_scroll_bars_hook = w32_condemn_scroll_bars; |
| 6066 | terminal->redeem_scroll_bar_hook = w32_redeem_scroll_bar; | 6056 | terminal->redeem_scroll_bar_hook = w32_redeem_scroll_bar; |
diff --git a/src/w32term.h b/src/w32term.h index c79352a8db8..cf6751b7d63 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -547,7 +547,7 @@ do { \ | |||
| 547 | #define WM_APPCOMMAND 0x319 | 547 | #define WM_APPCOMMAND 0x319 |
| 548 | #define GET_APPCOMMAND_LPARAM(lParam) (HIWORD(lParam) & 0x7fff) | 548 | #define GET_APPCOMMAND_LPARAM(lParam) (HIWORD(lParam) & 0x7fff) |
| 549 | #endif | 549 | #endif |
| 550 | #ifndef WM_UNICHAR | 550 | #ifndef WM_UNICHAR |
| 551 | #define WM_UNICHAR 0x109 | 551 | #define WM_UNICHAR 0x109 |
| 552 | #endif | 552 | #endif |
| 553 | #ifndef UNICODE_NOCHAR | 553 | #ifndef UNICODE_NOCHAR |
| @@ -697,3 +697,7 @@ typedef BOOL (WINAPI * AppendMenuW_Proc) ( | |||
| 697 | IN UINT_PTR, | 697 | IN UINT_PTR, |
| 698 | IN LPCWSTR); | 698 | IN LPCWSTR); |
| 699 | 699 | ||
| 700 | extern HWND w32_system_caret_hwnd; | ||
| 701 | extern int w32_system_caret_height; | ||
| 702 | extern int w32_system_caret_x; | ||
| 703 | extern int w32_system_caret_y; | ||
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c index 319f934e3bb..39d1ee5c851 100644 --- a/src/w32uniscribe.c +++ b/src/w32uniscribe.c | |||
| @@ -52,10 +52,6 @@ int uniscribe_available = 0; | |||
| 52 | extern Lisp_Object Quniscribe; | 52 | extern Lisp_Object Quniscribe; |
| 53 | extern Lisp_Object Qopentype; | 53 | extern Lisp_Object Qopentype; |
| 54 | 54 | ||
| 55 | extern int initialized; | ||
| 56 | |||
| 57 | extern struct font_driver uniscribe_font_driver; | ||
| 58 | |||
| 59 | /* EnumFontFamiliesEx callback. */ | 55 | /* EnumFontFamiliesEx callback. */ |
| 60 | static int CALLBACK add_opentype_font_name_to_list (ENUMLOGFONTEX *, | 56 | static int CALLBACK add_opentype_font_name_to_list (ENUMLOGFONTEX *, |
| 61 | NEWTEXTMETRICEX *, | 57 | NEWTEXTMETRICEX *, |